วิธีใช้ 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 ในรูปแบบต่อไปนี้:
ค่าคงที่ (ชื่อคงที่ =<константное выражение>}…
สาธารณะ – ค่าคงที่ที่ประกาศไว้สามารถใช้ได้กับทุกขั้นตอน
ส่วนตัว – สำหรับขั้นตอนภายในโมดูล
เช่น<тип данных>- การประกาศประเภทข้อมูลคงที่