วิธีใช้ SQL (DML): คำสั่ง UPDATE และ DELETE SQL. อัพเดตไวยากรณ์คำสั่ง SQL เลือกไวยากรณ์คำสั่ง

ผู้ดำเนินการ อัปเดตเปลี่ยนแปลงข้อมูลที่มีอยู่ในตาราง คำสั่งมีไวยากรณ์ดังต่อไปนี้:

อัปเดตชุด ( = ( | NULL | ค่าเริ่มต้น),...) [ (โดยที่ )];

สามารถใช้คำสั่งเดียวในการตั้งค่าสำหรับคอลัมน์จำนวนเท่าใดก็ได้ อย่างไรก็ตาม คุณสามารถเปลี่ยนแปลงแต่ละคอลัมน์ของตารางที่ระบุได้เพียงครั้งเดียวในคำสั่ง UPDATE เดียวกัน หากไม่มีคำสั่ง WHERE แถวทั้งหมดในตารางจะได้รับการอัปเดต

หากคอลัมน์เป็น NULLable คุณสามารถระบุคอลัมน์นั้นได้อย่างชัดเจน คุณยังสามารถแทนที่ค่าที่มีอยู่ด้วยค่าเริ่มต้น (DEFAULT) สำหรับคอลัมน์ที่กำหนดได้

ตัวอย่างคำสั่ง SQL UPDATE

ฉันมีตารางดาวเคราะห์ต่อไปนี้:

ตัวอย่างที่ 1: ใช้คำสั่ง SQL UPDATE เพื่อเปลี่ยนชื่อดาวเคราะห์ ดาวเนปจูนบน พลูโต:

อัปเดตชุดดาวเคราะห์ PlanetName = "พลูตัน" โดยที่ ID = 3;

ในตัวอย่างนี้ จำเป็นต้องมีเงื่อนไขคำสั่งย่อย SQL WHERE เนื่องจากหากไม่มีเงื่อนไข ฟิลด์คอลัมน์ PlanetName ทั้งหมดในตารางทั้งหมดจะเปลี่ยนเป็นพลูตัน ในกรณีนี้คอลัมน์ ID มาช่วยเราเพราะว่า เป็นคีย์หลักที่ช่วยให้สามารถระบุบันทึกได้โดยไม่ซ้ำกัน

ตัวอย่างที่ 2 เราจะเพิ่มเงินเดือนครูทุกคน 2 เท่า และโบนัส 10 เท่า

การอัปเดตข้อมูลในฐานข้อมูลหมายถึงการเปลี่ยนแปลงค่าในบันทึกตารางที่มีอยู่ ในกรณีนี้ สามารถเปลี่ยนค่าของฟิลด์ในกลุ่มแถวได้ (แม้แต่ทุกแถวของตาราง) และแก้ไขค่าของฟิลด์ในแต่ละแถวได้

ใน SQL คุณสามารถเปลี่ยนบันทึกในตารางฐานข้อมูลได้โดยใช้คำสั่ง UPDATE ในรูปแบบที่น้อยที่สุด คำสั่ง data update จะมีลักษณะดังนี้:

อัปเดต ฟิลด์ SET ของตาราง = ค่า

ที่นี่, อัปเดต– คำสั่งระบุว่าการร้องขอคือการอัพเดตข้อมูล

โต๊ะ– ชื่อของตารางที่จะมีการเปลี่ยนแปลง

ชุด– คำสั่งตามด้วยช่องที่คั่นด้วยเครื่องหมายจุลภาคพร้อมค่าที่กำหนด

สนาม– ฟิลด์ตารางที่จะทำการเปลี่ยนแปลง

ความหมาย– ค่าใหม่ที่จะป้อนลงในฟิลด์


ตัวอย่างเช่น หากคุณต้องการตั้งค่าเขตข้อมูลในแถวทั้งหมดของตารางให้เป็นศูนย์ คุณสามารถเรียกใช้แบบสอบถามต่อไปนี้:

อัปเดต ราคาสินค้า SET = 0

ในกรณีนี้ ช่องราคาในแถวที่มีอยู่ทั้งหมดของตารางจะใช้ค่าเป็น 0

การเปลี่ยนหนึ่งค่า

การเปลี่ยนแปลงค่าของเขตข้อมูลทั้งหมดในตารางนั้นหายากมาก บ่อยครั้งที่จำเป็นต้องเปลี่ยนค่าของรายการเฉพาะ เมื่อต้องการทำเช่นนี้ ที่ท้ายบรรทัดด้วยคำสั่ง UPDATE คำสั่ง WHERE จะถูกเพิ่ม ซึ่งระบุเงื่อนไขที่กำหนดว่าบรรทัดใดที่การดำเนินการอัพเดตควรดำเนินการ

มีโต๊ะดังนี้

ตัวอย่างเช่น เราจำเป็นต้องอัปเดตต้นทุนของผลิตภัณฑ์ด้วยมูลค่าที่เราทราบ เมื่อต้องการทำเช่นนี้ เรียกใช้แบบสอบถามต่อไปนี้:

อัปเดต ราคาสินค้า SET = 150 โดยที่ num = 2

ตอนนี้ก่อนการดำเนินการเปลี่ยนฟิลด์จะมีการเลือกแถวที่ตรงตามเงื่อนไข num = 2 มีแถวดังกล่าวเพียงแถวเดียวในตาราง ในสต็อกนี้ราคาจะเปลี่ยนเป็นค่า 150 ด้วยเหตุนี้เราจึงได้ตารางราคาสินค้าที่เปลี่ยนแปลง

ทำการเปลี่ยนแปลงหลายบรรทัดโดยมีเงื่อนไขการเลือก

หากคุณจำเงื่อนไขต่างๆ ทั้งหมดในแบบสอบถามได้ คุณจะจินตนาการได้ว่าตัวอย่างจะมีความหลากหลายเพียงใด ดังนั้น การสืบค้นแบบอัปเดตจึงสามารถดำเนินการกับแถวเดียว หรือกับกลุ่มแถว หรือกับทุกแถวของตารางก็ได้ ทุกอย่างขึ้นอยู่กับงานที่คุณกำลังเผชิญอยู่ รวมถึงแถวของตารางที่คุณต้องดำเนินการอัปเดต

ตัวอย่างเช่น เราต้องการลดราคาสินค้าทั้งหมดที่มีราคาตั้งแต่ 100 ขึ้นไปลงครึ่งหนึ่ง ขอ:

อัปเดต ราคาสินค้า SET = ราคา / 2 โดยที่ราคา >= 100

เงื่อนไข ที่ไหนที่นี่ประกอบด้วยกฎที่จะเลือกเฉพาะสินค้าที่มีราคาเท่ากับหรือมากกว่า 100 และผลิตภัณฑ์ที่มีราคาต่ำกว่า 100 จะไม่ได้รับผลกระทบจากคำขอ

ราคา = ราคา / 2– สูตรที่ใช้คำนวณราคาสินค้าใหม่ ราคาใหม่จะเขียนเท่ากับราคาเดิมหารด้วยสอง

จากการดำเนินการค้นหาดังกล่าว เราจะได้ตารางที่มีบันทึกที่เปลี่ยนแปลง:

การอัปเดตค่าในช่องหลายแถว

หากจำเป็นต้องอัปเดตหลายฟิลด์พร้อมกัน ฟิลด์ทั้งหมดที่มีค่าจะถูกระบุหลังคำสั่ง SET โดยคั่นด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น คุณต้องเปลี่ยนชื่อและราคาของผลิตภัณฑ์ที่มีรหัส 2 เป็น "เหล็ก" โดยมีราคา 300:

อัปเดต สินค้า SET title = "iron" , price = 300 WHERE num = 2 !}

แบบสอบถามนี้จะกำหนดค่าของฟิลด์ที่ตรงกันแต่ละฟิลด์ในแถว และเงื่อนไขจะระบุว่าจะทำการเปลี่ยนแปลงในบรรทัดใด


ต่อไปนี้เป็นการดำเนินการอัพเดตประเภทหลัก ตามข้อมูลเหล่านี้ คิวรีจะถูกสร้างขึ้นเพื่อแก้ไขปัญหาการปรับเปลี่ยนข้อมูลส่วนใหญ่ในการพัฒนาโดยใช้ SQL

ผู้ดำเนินการ อัปเดตเปลี่ยนแปลงข้อมูลที่มีอยู่ในตาราง คำสั่งมีไวยากรณ์ดังต่อไปนี้

อัปเดต<имя таблицы>
SET (ชื่อคอลัมน์ = (นิพจน์ในการคำนวณค่าคอลัมน์
- โมฆะ
- ค่าเริ่มต้น),...)
[ (ที่ไหน<предикат>}];

สามารถใช้คำสั่งเดียวในการตั้งค่าสำหรับคอลัมน์จำนวนเท่าใดก็ได้ อย่างไรก็ตามในแถลงการณ์เดียวกัน อัปเดตคุณสามารถเปลี่ยนแปลงแต่ละคอลัมน์ของตารางที่ระบุได้เพียงครั้งเดียว ในกรณีที่ไม่มีข้อเสนอ ที่ไหนแถวตารางทั้งหมดจะได้รับการอัปเดต

หากคอลัมน์เป็น NULLable คุณสามารถระบุคอลัมน์นั้นได้อย่างชัดเจน คุณยังสามารถแทนที่ค่าที่มีอยู่ด้วยค่าเริ่มต้น ( ค่าเริ่มต้น) สำหรับคอลัมน์ที่กำหนด

โดยปกติแล้วประเภทข้อมูลคอลัมน์ ความละเอียดสูงและ แกะจะต้องเข้ากันได้ สามารถใช้นิพจน์กับประเภทการส่งได้ หล่อ.

หากคุณต้องการเปลี่ยนแปลงข้อมูลโดยขึ้นอยู่กับเนื้อหาของคอลัมน์ใดคอลัมน์หนึ่ง คุณสามารถใช้นิพจน์ได้ กรณี- หากสมมติว่าคุณต้องติดตั้งฮาร์ดไดรฟ์ 20 GB บนพีซีโน้ตแพดที่มีหน่วยความจำน้อยกว่า 128 MB และฮาร์ดไดรฟ์ 40 GB บนพีซีโน้ตแพดที่เหลือ คุณสามารถเขียนคำขอต่อไปนี้:

จำเป็นต้องพูดคำสองสามคำเกี่ยวกับคอลัมน์ที่เพิ่มขึ้นอัตโนมัติ ถ้าคอลัมน์ รหัสในตาราง แล็ปท็อปกำหนดให้เป็น ตัวตน(1,1)แล้วโอเปอเรเตอร์ถัดไป

แน่นอนอีกบรรทัดหนึ่งที่มีค่า รหัส=5 ไม่ควรอยู่ในตาราง

ใน Transact-SQL ตัวดำเนินการ อัปเดตขยายมาตรฐานโดยใช้ส่วนคำสั่งทางเลือก จาก- ส่วนคำสั่งนี้ระบุตารางที่ให้เกณฑ์สำหรับการดำเนินการอัพเดต ความยืดหยุ่นเพิ่มเติมมีให้โดยการใช้การดำเนินการรวมตาราง

ตัวอย่าง - สมมติว่าคุณต้องระบุ "ไม่มีพีซี" (ไม่มีพีซี) ในคอลัมน์ พิมพ์สำหรับพีซีรุ่นเหล่านั้นจากตาราง ผลิตภัณฑ์ พีซี- วิธีแก้ไขโดยการรวมตารางสามารถเขียนได้ดังนี้:

คำสั่งลบ

ผู้ดำเนินการ ลบลบแถวออกจากตารางฐาน มุมมอง หรือเคอร์เซอร์ชั่วคราวหรือถาวร และในสองกรณีหลัง การดำเนินการของตัวดำเนินการจะขยายไปยังตารางฐานที่มีการดึงข้อมูลเข้าสู่มุมมองหรือเคอร์เซอร์เหล่านี้ ตัวดำเนินการลบมีไวยากรณ์ง่ายๆ:

ลบจาก<имя таблицы > ;

ถ้าจะเสนอ. ที่ไหนหายไป ลบแถวทั้งหมดออกจากตารางหรือมุมมอง (มุมมองจะต้องอัปเดตได้) การดำเนินการนี้ (การลบแถวทั้งหมดออกจากตาราง) สามารถทำได้รวดเร็วยิ่งขึ้นใน Transact-SQL โดยใช้คำสั่ง

อย่างไรก็ตาม มีความแตกต่างหลายประการในการใช้งานคำสั่ง ตัดตารางเมื่อเทียบกับการใช้โอเปอเรเตอร์ ลบสิ่งที่ควรคำนึงถึง:

1. การลบแต่ละแถวของตารางจะไม่ถูกบันทึก บันทึกจะบันทึกเฉพาะการเผยแพร่เพจที่ถูกครอบครองโดยข้อมูลตาราง
2. ทริกเกอร์ไม่ทำงาน โดยเฉพาะทริกเกอร์ลบ
3. คำสั่งจะไม่สามารถใช้ได้หากตารางนี้อ้างอิงโดยคีย์ต่างประเทศ และแม้ว่าคีย์ต่างประเทศจะมีตัวเลือกการลบแบบเรียงซ้อนก็ตาม
4. มูลค่าตัวนับ ( ตัวตน) ถูกรีเซ็ตเป็นค่าเริ่มต้น

ตัวอย่าง - ต้องถอดออกจากโต๊ะ แล็ปท็อปโน้ตบุ๊ก PC ทุกรุ่นที่มีขนาดหน้าจอน้อยกว่า 12 นิ้ว

TRUNCATE โต๊ะแล็ปท็อป

Transact-SQL ขยายไวยากรณ์คำสั่ง ลบเป็นการกล่าวประโยคเพิ่มเติม จาก

จาก<источник табличного типа>

ด้วยความช่วยเหลือ แหล่งที่มาประเภทตารางคุณสามารถระบุข้อมูลที่ถูกลบออกจากตารางได้ในประโยคแรก จาก.

เมื่อใช้ส่วนคำสั่งนี้ คุณสามารถดำเนินการรวมตารางได้ ซึ่งจะแทนที่การใช้แบบสอบถามย่อยในส่วนคำสั่งอย่างมีเหตุผล ที่ไหนเพื่อระบุแถวที่จะลบ

ให้เราอธิบายเรื่องนี้ด้วยตัวอย่าง สมมติว่าคุณต้องการลบรุ่นพีซีเหล่านั้นออกจากตาราง ผลิตภัณฑ์ซึ่งไม่มีแถวที่ตรงกันในตาราง พีซี.

เมื่อใช้ไวยากรณ์มาตรฐาน ปัญหานี้สามารถแก้ไขได้ด้วยแบบสอบถามต่อไปนี้:

ซึ่งใช้การรวมภายนอก ทำให้เกิดคอลัมน์ พีซีโมเดลสำหรับพีซีรุ่นที่ไม่อยู่ในตาราง พีซีจะมีค่า NULL ซึ่งใช้ในการระบุแถวที่จะลบ

อัปเดตครั้งล่าสุด: 07/13/2017

หากต้องการเปลี่ยนแถวที่มีอยู่ในตาราง ให้ใช้คำสั่ง UPDATE มีไวยากรณ์ที่เป็นทางการดังต่อไปนี้:

อัปเดต table_name SET column1 = value1, column2 = value2, ... columnN = valueN

ตัวอย่างเช่น ลองเพิ่มราคาของผลิตภัณฑ์ทั้งหมดขึ้น 5,000:

อัพเดทสินค้า SET Price = ราคา + 5,000

ลองใช้เกณฑ์และเปลี่ยนชื่อผู้ผลิตจาก "Samsung" เป็น "Samsung Inc. ":

อัพเดทสินค้า SET ผู้ผลิต = "Samsung Inc." WHERE ผู้ผลิต = "ซัมซุง"

คำขอที่ซับซ้อนมากขึ้น - แทนที่ฟิลด์ผู้ผลิตด้วยค่า "Apple" ด้วย "Apple Inc." ใน 2 บรรทัดแรก:

อัพเดทสินค้า SET ผู้ผลิต = "Apple Inc." จาก (เลือก 2 อันดับแรกจากผลิตภัณฑ์ WHERE ผู้ผลิต = "Apple") ตามที่เลือก WHERE Products.Id = Selected.Id

การใช้แบบสอบถามย่อยหลังคีย์เวิร์ด FROM สองแถวแรกที่มีการดึงข้อมูล Manufacturing="Apple" นามแฝงที่เลือกจะถูกกำหนดไว้สำหรับการเลือกนี้ นามแฝงจะถูกระบุหลังตัวดำเนินการ AS

ถัดมาเป็นเงื่อนไขการอัพเดต Products.Id = Selected.Id นั่นคือ ที่จริงแล้ว เรากำลังจัดการกับสองตาราง - ผลิตภัณฑ์ และ รายการที่เลือก (ซึ่งได้มาจากผลิตภัณฑ์) ใน Selected มีสองบรรทัดแรกที่มีคำว่า Manufacturing="Apple" ในผลิตภัณฑ์ - โดยทั่วไปทุกบรรทัด และการอัพเดตจะดำเนินการเฉพาะกับแถวที่อยู่ในการเลือกที่เลือกเท่านั้น นั่นคือหากมีผลิตภัณฑ์หลายสิบรายการในตารางผลิตภัณฑ์กับผู้ผลิต Apple การอัปเดตจะมีผลเฉพาะสองรายการแรกเท่านั้น

การเปลี่ยนค่าฟิลด์ (command อัปเดต- โคมัตส์ดอย อัปเดตคุณสามารถเปลี่ยนค่าบางส่วนหรือทั้งหมดในแถวได้ คำสั่งระบุชื่อตารางและการเปลี่ยนแปลง สมมติว่าตามคำสั่งของอธิการบดีมีการจัดตั้งทุนการศึกษาใหม่ (เหมือนกันสำหรับทุกคน) จำนวน 50,000 รูเบิลสำหรับนักเรียนทุกคนที่ได้รับทุนการศึกษา เมื่อต้องการทำเช่นนี้ ให้ออกคำสั่ง:

อัปเดตสปิซ็อก

ชุดทิป = 50,000;

เกี่ยวกับทีม อัปเดตในประโยค ที่ไหนคุณสามารถตั้งค่าให้อัพเดตเฉพาะบางแถวได้

อัปเดต

ชุดสเตป = 50,000

ที่ไหนเคิร์ส=ฉัน;

ในส่วนคำสั่ง SET อัปเดตคุณสามารถระบุค่าจำนวนเท่าใดก็ได้สำหรับคอลัมน์โดยคั่นด้วยเครื่องหมายจุลภาค

ทีมหนึ่ง อัปเดตคุณไม่สามารถอัปเดตหลายตารางได้

เกี่ยวกับทีม อัปเดตในประโยค ชุดคุณสามารถใช้นิพจน์สเกลาร์เพื่อเปลี่ยนค่าของฟิลด์ได้ สมมติว่าทุนการศึกษาของนักเรียนทุกคนเพิ่มขึ้น 25% การเปลี่ยนแปลงที่จำเป็น:

อัปเดตสปิซ็อก

ชุดปลาย = (ปลาย *25)/100;

ดังนั้นทางทีมงาน อัปเดตมีวัตถุประสงค์เพื่อแทนที่ค่าในแถวของตาราง (บันทึก)

SQL. ลบไวยากรณ์คำสั่ง

การลบแถวออกจากตาราง (command ลบ- ทีม ลบไม่ใช่ค่าฟิลด์แต่ละแถวที่ถูกลบ แต่เป็นทั้งแถว หลังจากดำเนินการตามคำสั่งแล้ว ลบมันจะว่างเปล่าสำหรับทั้งตาราง ตัวอย่างเช่น:

ลบจากสปิซก;

หากต้องการลบแถวที่ระบุโดยเฉพาะ คุณสามารถใช้ภาคแสดงได้

ลบจากสปิซ็อก

ที่ไหนทิป = 0;

หรือระบุค่าคีย์หลักเพื่อลบหนึ่งระเบียน

ลบจากสปิซ็อก

ที่ไหน fio = "เพ็ตกิน";

ในทีม แทรก ลบ อัปเดตคุณสามารถใช้แบบสอบถามย่อยได้

ไวยากรณ์คำสั่ง SQL SELECT

ภาษา SQL เป็นภาษาคิวรีที่มีโครงสร้าง คำขอในสภาพแวดล้อมนี้คือคำสั่งที่ผู้ใช้สร้างงานสำหรับ DBMS หลังจากดำเนินการคำสั่ง DBMS จะต้องให้ข้อมูลที่ระบุในคำขอแก่ผู้ใช้
คำขอทั้งหมดมาใน SQLจัดทำโดยใช้คำสั่งเดียว เลือกหลังจากนั้นการค้นหาข้อมูลบางอย่าง (จำเป็น) ในตารางจะเริ่มต้นในฐานข้อมูล

ตัวอย่าง- จากตาราง Spisok ให้รับตารางที่มีบันทึกทั้งหมดในแบบฟอร์มต่อไปนี้:

ได้รับคำสั่ง:

เลือก fio, สติป จากสปิซก;

ผลลัพธ์ของคำสั่งดังแสดงในรูป

ฟิโอ เงื่อนไข
ริบคินา
อุตคินา
เชนิชโก้
โซบัคคินา
ลูกอัณฑะ

เลือก- คีย์เวิร์ดที่ “บอก” DBMS ว่าคำสั่งนั้นเป็นคำขอ

fio, สติป- รายการชื่อฟิลด์ (คอลัมน์) ที่ควรเลือกข้อมูลและตารางใหม่ทำให้เป็นมาตรฐาน

จาก สปิซ็อก; จาก-คีย์เวิร์ดจะต้องอยู่ในทุกคำขอ Spisik - ชื่อของตาราง – แหล่งข้อมูลสำหรับการสืบค้น

สัญลักษณ์อัฒภาค (;) บ่งบอกถึงจุดสิ้นสุดของคำสั่งและความพร้อมในการดำเนินการ

หลังคำสำคัญ เลือกตามด้วยช่องว่าง ถัดไป ชื่อของฟิลด์ (คอลัมน์) ของการเลือกจะแสดงรายการ โดยคั่นด้วยเครื่องหมายจุลภาค

หากต้องการแสดงคอลัมน์ทั้งหมดของตารางฐานข้อมูล คุณสามารถละเว้นรายการเขตข้อมูลได้โดยการแทนที่ด้วยเครื่องหมายดอกจัน (*) คอลัมน์จะแสดงตามโครงสร้างของตารางต้นฉบับ

เลือก * จากสปิซก;

คำสั่ง SELECT สามารถแสดงคอลัมน์ตามลำดับใดๆ ที่แตกต่างจากลำดับที่กำหนดโดยโครงสร้างของตารางต้นฉบับ ลำดับนี้ระบุโดยรายชื่อคอลัมน์ในคำสั่ง SELECT ตัวอย่างคอลัมน์ที่เรียงลำดับใหม่ในตารางผลลัพธ์

เลือกเคิร์ส, กรุปปา, ฟิโอ จากสปิซก;

SQL. การคัดเลือกตามเกณฑ์ (WHERE)

การใช้แอพ ที่ไหนในทีม เลือกมีการระบุเงื่อนไขในการเลือกบันทึกจากตาราง ภาคแสดงสามารถรับค่า "จริง" หรือ "เท็จ"

ตัวอย่าง.

ทีม เลือกให้เลือกนักเรียนตารางสปิสก กลุ่ม ET-41:

เลือกกรุ๊ปปา, ฟิโอ จาก Spisok โดยที่ grouppa=’ET-41’;

โปรแกรมจะผ่านบันทึกทั้งหมดของตาราง Spisok โดยตรวจสอบแต่ละรายการเพื่อดูความจริงของเพรดิเคต gruppa=’ET-41’.จากผลของการดำเนินการเราได้รับ:

กลุ่ม ฟิโอ
ET-41 ริบคินา
ET-41 อุตคินา
ET-41 เชนิชโก้
ET-41 โซบัคคินา
ET-41 ลูกอัณฑะ

การใช้ SQL กับภาษาการเขียนโปรแกรมอื่นๆ

ภาษา SQLใช้ในการเขียนโปรแกรมเข้าถึงฐานข้อมูลเป็นภาษาย่อยของภาษาโปรแกรมขั้นตอนอื่นๆ (Pascal, PL/1, Fortran, COBOL, C, Ada ฯลฯ) ภาษา SQLไม่ใช่ขั้นตอน แต่เป็นการประกาศในท้องถิ่น สามารถฝังอยู่ในโปรแกรมที่เขียนด้วยภาษาขั้นตอนได้ ลิ้น SQLไม่มีตัวดำเนินการตรวจสอบเงื่อนไข IF พื้นฐาน ตัวดำเนินการ FOR, DO และ WHILE ฯลฯ ภาษา SQLมีไว้สำหรับการจัดการฐานข้อมูลเท่านั้น

การใช้ภาษาเหล่านี้ร่วมกันทำให้คุณสามารถตั้งโปรแกรมโปรแกรมขั้นตอนที่ซับซ้อนได้ เช่น ตั้งโปรแกรมเป็นภาษา Pascal และผ่าน SQLเข้าถึงฐานข้อมูลของพวกเขา คำสั่งในตัวทั้งหมด SQLรวมอยู่ในข้อความหลักของโปรแกรมเป็นภาษาระดับสูงโดยขึ้นต้นด้วยวลี EXEX SQLและลงท้ายด้วยตัวยุติภาษาที่เหมาะสม (ใน Pascal;)

โปรแกรมที่มีในตัว SQLก่อนการคอมไพล์ของตัวเอง การคอมไพล์ล่วงหน้าจะเกิดขึ้น โดยที่คำสั่ง SQLถูกแปลง (แปล) โดยพรีคอมไพเลอร์เป็นรูปแบบของภาษาระดับสูง หลังจากนั้นโปรแกรมหลักทั้งหมดก็จะถูกคอมไพล์

ทีม SQLที่รวมอยู่ในโปรแกรมอื่นถือว่าโปรแกรมหลักเป็น SQL-ขั้นตอน ในระหว่างการดำเนินการ โปรแกรมหลักจะสื่อสารกับฐานข้อมูล เช่นเดียวกับผู้ใช้ในสภาพแวดล้อม SQL.

แอปพลิเคชัน Visual Basic แนวคิดพื้นฐาน

ในการเขียนโปรแกรม แนวคิดพื้นฐานคือ "ตัวแปร" และ "ค่าตัวแปร" ตัวแปรคือปริมาณ (อ็อบเจ็กต์) ที่ค่าเปลี่ยนแปลงระหว่างการทำงานของโปรแกรม ตัวแปรในคอมพิวเตอร์จะแสดงด้วยชื่อที่กำหนด (ตัวระบุ) และค่าของตัวแปรจะถูกกำหนดโดยผู้ดำเนินการกำหนด

สำหรับตัวระบุตัวแปรแต่ละตัว ตำแหน่งในหน่วยความจำจะถูกจัดสรรในตำแหน่งที่จัดเก็บค่าของมัน ให้เราจำและทำความเข้าใจแนวคิดพื้นฐานตั้งแต่แรกเห็น: โปรแกรมใดๆ ก็ตามจะใช้ตัวแปรและค่าของมัน สำหรับชื่อตัวแปรใหม่แต่ละตัวที่พบในโปรแกรม VBA จะกำหนดตัวแปรนั้นโดยอัตโนมัติ (จัดสรรตำแหน่งในหน่วยความจำสำหรับตัวแปรนั้น) พื้นที่นี้ยังคงว่างเปล่าจนกว่าตัวแปรจะได้รับการกำหนดค่า ตัวแปรจะถูกเปรียบเทียบกับคอนเทนเนอร์สำหรับการจัดเก็บข้อมูลทุกประเภท

ข้อมูลกำหนดวัตถุด้วยตัวเลข ตัวอักษร และวิธีการอื่นๆ การดำเนินการทางคณิตศาสตร์จะดำเนินการกับตัวเลขและการดำเนินการทางตรรกะกับตัวอักษร สิ่งนี้บ่งชี้ถึงข้อมูลประเภทต่างๆ แล้ว ซึ่งแต่ละประเภทมีวิธีการนำเสนอข้อมูลเหล่านั้นภายในการแสดงเครื่องจักรเป็นของตัวเอง

ชนิดข้อมูล VBA

ประเภทข้อมูล คำนำหน้า สัญลักษณ์คำอธิบาย ขนาด (ไบต์) ความหมาย
จำนวนเต็ม นานาชาติ % จำนวนเต็มสั้น (-32788 ถึง +32767)
ยาว ก๊าซหุงต้ม & จำนวนเต็มยาว (-2147483648 ถึง +2147483647)
เดี่ยว ซง ! จุดลอยตัวที่มีความแม่นยำเดี่ยว: -3.4e38 ถึง +3.4e38
สองเท่า ดับเบิ้ล # จุดลอยตัวที่มีความแม่นยำสองเท่า: -1.79e308 ถึง +1.79e308
ไบต์ ไบต์ เลขที่ ไบต์: 0 ถึง 255
สกุลเงิน Cur @ หมายเลขจุดคงที่: -922337203685477.5808 ถึง +922337203685477.5807
สตริง $ 10 + 2 ต่อตัวละคร สตริง: 0 ถึง 65535 อักขระ
บูลีน บิน เลขที่ หมายเลขบูลีน: จริงและเท็จ
วันที่ ดาท เลขที่ วันที่และเวลา
ตัวแปร วาร์ เลขที่ <16 ข้อมูลใดๆ
วัตถุ วัตถุ เลขที่ การอ้างอิงวัตถุใด ๆ

ตัวแปรและค่าคงที่ใน VBA

มีการประกาศตัวแปรในโปรแกรม กล่าวคือ ประเภทของตัวแปรและขอบเขตจะถูกกำหนด สามารถประกาศตัวแปรได้สองระดับ - ระดับขั้นตอนและระดับโมดูล

การประกาศในระดับโมดูลจะทำโดยผู้ดำเนินการภาครัฐและเอกชน: ที่ระดับโมดูลและขั้นตอน - โดยผู้ดำเนินการ Dim: เฉพาะในระดับขั้นตอนเท่านั้น - โดยผู้ดำเนินการแบบคงที่

การเริ่มต้นตัวแปรที่ประกาศเกิดขึ้นในเวลาคอมไพล์: ตัวแปรตัวเลขถูกกำหนดให้เป็นค่าศูนย์ (0): ตัวแปรสตริงถูกกำหนดให้เป็นสตริงว่าง (ความยาวเป็นศูนย์): ตัวแปรประเภท Variant ถูกกำหนดให้เป็นค่า Emtry (ไม่มีค่า)

ค่าคงที่: มีชื่อ แต่อย่าเปลี่ยนค่าระหว่างการทำงานของโปรแกรม หากต้องการกำหนดค่าคงที่ใน VB ให้ใช้ตัวดำเนินการ Const ในรูปแบบต่อไปนี้:

ค่าคงที่ (ชื่อคงที่ =<константное выражение>}…

สาธารณะ – ค่าคงที่ที่ประกาศไว้สามารถใช้ได้กับทุกขั้นตอน

ส่วนตัว – สำหรับขั้นตอนภายในโมดูล

เช่น<тип данных>- การประกาศประเภทข้อมูลคงที่