คำสั่งต่อไปนี้เป็นคำสั่ง Mssql และไม่สามารถใช้ในการเข้าถึงได้
การจำแนกประเภท SQL:
DDL—ภาษาคำจำกัดความของข้อมูล (สร้าง, แก้ไข, วาง, ประกาศ)
DML—ภาษาการจัดการข้อมูล (SELECT, DELETE, UPDATE, INSERT)
DCL—ภาษาควบคุมข้อมูล (แกรนท์, เพิกถอน, คอมมิต, ย้อนกลับ)
ขั้นแรก การแนะนำสั้นๆ เกี่ยวกับข้อความพื้นฐาน:
1. คำแนะนำ: สร้างฐานข้อมูล
สร้างชื่อฐานข้อมูลฐานข้อมูล
2. คำอธิบาย: ลบฐานข้อมูล
ปล่อยฐานข้อมูล dbname
3. คำอธิบาย: สำรองข้อมูลเซิร์ฟเวอร์ sql
--- สร้างอุปกรณ์สำหรับสำรองข้อมูล
ใช้ต้นแบบ
EXEC sp_addumpdevice 'ดิสก์', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- เริ่มการสำรองข้อมูล
สำรองข้อมูลฐานข้อมูลผับเพื่อ testBack
4. คำอธิบาย: สร้างตารางใหม่
สร้างชื่อแท็บตาราง (col1 type1 [ไม่ใช่ null] [คีย์หลัก], col2 type2 [ไม่ใช่ null],..)
สร้างตารางใหม่ตามตารางที่มีอยู่:
ตอบ: สร้างตาราง tab_new เช่น tab_old (ใช้ตารางเก่าเพื่อสร้างตารางใหม่)
B: สร้างตาราง tab_new โดยเลือก col1,col2… จากคำจำกัดความ tab_old เท่านั้น
5. คำอธิบาย:
วางตารางใหม่: วางชื่อแท็บตาราง
6. คำอธิบาย:
เพิ่มคอลัมน์: แก้ไขชื่อแท็บตารางเพิ่มประเภทคอลัมน์คอลัมน์
หมายเหตุ: เมื่อเพิ่มคอลัมน์แล้ว จะไม่สามารถลบได้ ใน DB2 ไม่สามารถเปลี่ยนแปลงชนิดข้อมูลได้หลังจากเพิ่มคอลัมน์แล้ว สิ่งเดียวที่สามารถเปลี่ยนแปลงได้คือการเพิ่มความยาวของประเภท varchar
7. คำอธิบาย:
เพิ่มคีย์หลัก: แก้ไขชื่อแท็บตารางเพิ่มคีย์หลัก (col)
แสดงให้เห็น:
ลบคีย์หลัก: แก้ไขชื่อแท็บตารางวางคีย์หลัก (col)
8. คำอธิบาย:
สร้างดัชนี: สร้าง [unique] ดัชนี idxname บน tabname(col….)
ลบดัชนี: วางดัชนี idxname
หมายเหตุ: ไม่สามารถเปลี่ยนแปลงดัชนีได้ หากคุณต้องการเปลี่ยนแปลง คุณต้องลบออกและสร้างใหม่
9. คำอธิบาย:
สร้างมุมมอง: สร้างชื่อมุมมองมุมมองเป็นคำสั่งเลือก
ลบมุมมอง: วางชื่อมุมมองมุมมอง
10. คำอธิบาย: การเลือกคำสั่ง SQL พื้นฐานง่ายๆ หลายรายการ: เลือก * จาก table1 โดยที่การแทรกช่วง: แทรกลงในค่า table1(field1,field2) (value1,value2)
ลบ: ลบออกจาก table1 โดยที่ range update: อัพเดต table1 set field1=value1 โดยที่ range search: select * from table1 โดยที่ field1 เช่น '%value1%' ---like ไวยากรณ์ของ like นั้นซับซ้อนมาก ตรวจสอบข้อมูล!
การเรียงลำดับ: เลือก * จากตารางที่ 1 เรียงลำดับตามฟิลด์ 1,ฟิลด์ 2 [รายละเอียด]
จำนวนรวม: เลือกจำนวน * เป็นจำนวนรวมจากตารางที่ 1
ผลรวม: เลือกผลรวม (field1) เป็นผลรวมจากตารางที่ 1
เฉลี่ย: เลือก avg(field1) เป็น avgvalue จาก table1
สูงสุด: เลือกสูงสุด (field1) เป็นค่าสูงสุดจาก table1
ขั้นต่ำ: เลือก min(field1) เป็นค่าต่ำสุดจาก table1
11. คำอธิบาย: ตัวดำเนินการสืบค้นขั้นสูงหลายตัว A: ตัวดำเนินการ UNION ตัวดำเนินการ UNION ได้รับตารางผลลัพธ์โดยการรวมตารางผลลัพธ์อื่นอีกสองตาราง (เช่น TABLE1 และ TABLE2) และกำจัดแถวที่ซ้ำกันในตาราง เมื่อใช้ ALL กับ UNION (นั่นคือ UNION ALL) แถวที่ซ้ำกันจะไม่ถูกกำจัด ในทั้งสองกรณี ทุกแถวในตารางที่ได้รับจะมาจาก TABLE1 หรือ TABLE2
B: ตัวดำเนินการยกเว้น ตัวดำเนินการยกเว้นจะได้รับตารางผลลัพธ์โดยรวมแถวทั้งหมดที่อยู่ใน TABLE1 แต่ไม่อยู่ใน TABLE2 และกำจัดแถวที่ซ้ำกันทั้งหมด เมื่อใช้ ALL กับ EXCEPT (EXCEPT ALL) แถวที่ซ้ำกันจะไม่ถูกกำจัด
C: ตัวดำเนินการ INTERSECT ตัวดำเนินการ INTERSECT ได้รับตารางผลลัพธ์โดยรวมเฉพาะแถวที่อยู่ในทั้ง TABLE1 และ TABLE2 และกำจัดแถวที่ซ้ำกัน เมื่อใช้ ALL กับ INTERSECT (INTERSECT ALL) แถวที่ซ้ำกันจะไม่ถูกกำจัด
หมายเหตุ: แถวผลลัพธ์แบบสอบถามหลายแถวที่ใช้คำโอเปอเรเตอร์ต้องสอดคล้องกัน
12. คำอธิบาย: ใช้การรวมภายนอก A, การรวมภายนอกด้านซ้าย:
การรวมภายนอกด้านซ้าย (การรวมด้านซ้าย): ชุดผลลัพธ์ประกอบด้วยแถวที่ตรงกันของตารางที่รวมและแถวทั้งหมดของตารางที่รวมด้านซ้าย
SQL: เลือก aa, ab, ac, bc, bd, bf จากด้านซ้าย JOIN b ON aa = bc
B:การรวมด้านนอกขวา:
การรวมภายนอกด้านขวา (การรวมทางขวา): ชุดผลลัพธ์มีทั้งแถวการรวมที่ตรงกันของตารางการรวมและแถวทั้งหมดของตารางการรวมทางขวา
C: เข้าร่วมภายนอกแบบเต็ม:
การรวมภายนอกแบบเต็ม: ไม่เพียงแต่รวมแถวที่ตรงกันของตารางการเชื่อมต่อเชิงสัญลักษณ์เท่านั้น แต่ยังรวมถึงบันทึกทั้งหมดในตารางที่รวมทั้งสองตารางด้วย
ประการที่สอง มาดูคำสั่ง SQL ที่ดีกันบ้าง 1. คำอธิบาย: คัดลอกตาราง (คัดลอกเฉพาะโครงสร้าง ชื่อตารางต้นฉบับ: a ชื่อตารางใหม่: b) (เข้าถึงได้)
วิธีที่ 1: เลือก * เป็น b จาก a โดยที่ 1<>1
วิธีที่ 2: เลือก 0 * ด้านบนเป็น b จาก a
2. คำอธิบาย: คัดลอกตาราง (คัดลอกข้อมูล ชื่อตารางต้นฉบับ: a ชื่อตารางเป้าหมาย: b) (เข้าถึงได้)
แทรกลงใน b(a, b, c) เลือก d,e,f จาก b;
3. คำอธิบาย: คัดลอกตารางระหว่างฐานข้อมูล (ใช้เส้นทางที่แน่นอนสำหรับข้อมูลเฉพาะ) (เข้าถึงได้)
แทรกลงใน b(a, b, c) เลือก d,e,f จาก b ใน 'ฐานข้อมูลเฉพาะ' โดยที่ตัวอย่างเงื่อนไข: ..จาก b ใน '"&Server.MapPath(".")&"data.mdb" & "' ที่ไหน..
4. คำอธิบาย: แบบสอบถามย่อย (ชื่อตาราง 1: ชื่อตาราง 2: b)
เลือก a,b,c จาก a โดยที่ IN (เลือก d จาก b ) หรือ: เลือก a,b,c จาก a โดยที่ IN (1,2,3)
5. คำอธิบาย: แสดงบทความ ผู้ส่ง และเวลาตอบกลับล่าสุด
เลือก a.title,a.username,b.adddate จากตาราง a,(เลือก max(adddate) adddate จากตารางโดยที่ table.title=a.title) b
6. คำอธิบาย: แบบสอบถามการรวมภายนอก (ชื่อตาราง 1: ชื่อตาราง 2: b)
เลือก aa, ab, ac, bc, bd, bf จากทางซ้าย เข้าร่วม b ON aa = bc
7. คำอธิบาย: แบบสอบถามมุมมองออนไลน์ (ชื่อตาราง 1: a)
เลือก * จาก (เลือก a,b,c จาก a) T โดยที่ ta > 1;
8. คำอธิบาย: การใช้ระหว่าง ระหว่าง จำกัดช่วงข้อมูลการสืบค้น และรวมค่าขอบเขต ไม่ใช่ระหว่าง ไม่รวม
เลือก * จาก table1 โดยที่เวลาระหว่าง time1 ถึง time2
เลือก a,b,c จาก table1 โดยที่ a ไม่ใช่ระหว่างค่า 1 และค่า 2
9. คำอธิบาย: วิธีการใช้งานค่ะ
เลือก * จาก table1 โดยที่ [not] ใน ('value1', 'value2', 'value4', 'value6')
10. คำอธิบาย: สองตารางที่เกี่ยวข้องกัน ลบข้อมูลในตารางหลักที่ไม่ได้อยู่ในตารางรอง
ลบออกจาก table1 ที่ไม่มีอยู่ ( เลือก * จาก table2 โดยที่ table1.field1=table2.field1 )
11. คำอธิบาย: ปัญหาแบบสอบถามร่วมสี่ตาราง:
เลือก * จากการรวมด้านในด้านซ้าย b บน aa=bb การรวมด้านในด้านขวา c บน aa=cc การรวมด้านใน d บน aa=dd โดยที่ .....
12. คำอธิบาย: ตั้งเวลาเตือนล่วงหน้าห้านาที
SQL: เลือก * จากกำหนดการโดยที่ datediff('minute',f start time,getdate())>5
13. คำอธิบาย: คำสั่ง sql หนึ่งคำสั่งทำให้เพจฐานข้อมูลเสร็จสมบูรณ์
เลือก 10 อันดับแรก b.* จาก (เลือกฟิลด์คีย์หลัก 20 อันดับแรก เรียงลำดับฟิลด์จากลำดับชื่อตารางโดยการเรียงลำดับฟิลด์) a, ชื่อตาราง b โดยที่ b. ฟิลด์คีย์หลัก = a. เรียงลำดับฟิลด์คีย์หลัก 14 . คำอธิบาย: 10 รายการแรก
เลือก 10 อันดับแรก * แบบฟอร์ม table1 โดยที่ช่วง 15 คำอธิบาย: เลือกข้อมูลทั้งหมดของบันทึกที่มีค่า a มากที่สุดในแต่ละกลุ่มข้อมูลที่มีค่า b เท่ากัน (การใช้งานที่คล้ายกันสามารถใช้สำหรับการจัดอันดับฟอรัมรายเดือน, การขายร้อนรายเดือน การวิเคราะห์ผลิตภัณฑ์, จัดอันดับตามผลงาน ฯลฯ )
เลือก a,b,c จากชื่อตาราง ta โดยที่ a=(เลือกสูงสุด (a) จากชื่อตาราง tb โดยที่ tb.b=ta.b)
16. คำอธิบาย: รวมแถวทั้งหมดใน TableA แต่ไม่ใช่ใน TableB และ TableC และกำจัดแถวที่ซ้ำกันทั้งหมดเพื่อให้ได้ตารางผลลัพธ์
(เลือกจาก tableA ) ยกเว้น (เลือกจาก tableB) ยกเว้น (เลือกจาก tableC)
17. คำอธิบาย: สุ่มนำข้อมูลออกมา 10 ชิ้น
เลือก 10 อันดับแรก * จากชื่อตารางเรียงตาม newid()
18. คำอธิบาย: สุ่มเลือกบันทึก
เลือก newid()
19. คำอธิบาย: ลบบันทึกที่ซ้ำกัน
ลบออกจากชื่อตารางโดยที่ id ไม่อยู่ใน (เลือก max(id) จากกลุ่มชื่อตารางตาม col1,col2,...)
20. คำอธิบาย: แสดงรายการชื่อตารางทั้งหมดในฐานข้อมูล
เลือกชื่อจาก sysobjects โดยที่ type='U'
21. คำอธิบาย: แสดงรายการทั้งหมดในตาราง
เลือกชื่อจาก syscolumns โดยที่ id=object_id('TableName')
22. คำอธิบาย: แสดงรายการฟิลด์ประเภท ผู้ขาย และชิ้น โดยจัดเรียงตามฟิลด์ประเภท กรณี สามารถใช้การเลือกหลายรายการได้อย่างง่ายดาย คล้ายกับกรณีในการเลือก
เลือกประเภท, ผลรวม (ผู้จำหน่ายกรณีเมื่อ 'A' จากนั้นชิ้นอื่น ๆ 0 สิ้นสุด), รวม (ผู้จำหน่ายกรณีเมื่อ 'C' จากนั้นชิ้นอื่น ๆ 0 สิ้นสุด), รวม (ผู้จำหน่ายกรณีเมื่อ 'B' จากนั้นชิ้นอื่น ๆ 0 สิ้นสุด) จากกลุ่มชื่อตาราง ตามประเภท
แสดงผล:
ประเภทผู้จำหน่ายพีซี
คอมพิวเตอร์ ก 1
คอมพิวเตอร์ ก 1
ดิสก์บี2
แผ่นดิสก์ A2
โทรศัพท์มือถือบี3
โมบาย ซี3
23. คำอธิบาย: เตรียมใช้งานตาราง table1
ตัดตารางตาราง1
24. คำแนะนำ: เลือกบันทึกตั้งแต่ 10 ถึง 15
เลือก 5 อันดับแรก * จาก (เลือก 15 อันดับแรก * จากลำดับตารางตาม id asc) table_alias เรียงลำดับตาม id desc
วิธีการสุ่มเลือกบันทึกฐานข้อมูล (โดยใช้ฟังก์ชัน Randomize ดำเนินการผ่านคำสั่ง SQL)
สำหรับข้อมูลที่จัดเก็บไว้ในฐานข้อมูล คุณลักษณะตัวเลขสุ่มอาจให้ผลข้างต้นได้ แต่อาจช้าเกินไป คุณไม่สามารถขอให้ ASP "ค้นหาตัวเลขสุ่ม" แล้วพิมพ์ออกมาได้ วิธีแก้ปัญหาทั่วไปคือการสร้างลูปแบบนี้:
สุ่ม
RNumber = Int(Rnd*499) +1
ในขณะที่ไม่ใช่ objRec.EOF
ถ้า objRec("ID") = RNumber แล้ว
...นี่คือสคริปต์การดำเนินการ...
สิ้นสุดถ้า
objRec.MoveNext
เวนด์
มันง่ายที่จะเข้าใจ ขั้นแรก คุณจะต้องสุ่มตัวเลขในช่วง 1 ถึง 500 (สมมติว่า 500 คือจำนวนบันทึกทั้งหมดในฐานข้อมูล) จากนั้น คุณวนซ้ำแต่ละระเบียนเพื่อทดสอบค่าของ ID เพื่อดูว่าตรงกับ RNumber หรือไม่ หากตรงตามเงื่อนไข บล็อกของโค้ดที่ขึ้นต้นด้วยคีย์เวิร์ด THEN จะถูกดำเนินการ หาก RNumber ของคุณเท่ากับ 495 จะใช้เวลานานในการวนรอบฐานข้อมูล แม้ว่า 500 อาจดูเหมือนเป็นตัวเลขจำนวนมาก แต่ก็ยังคงเป็นฐานข้อมูลขนาดเล็กเมื่อเทียบกับโซลูชันระดับองค์กรที่แข็งแกร่งกว่า ซึ่งมักจะมีบันทึกหลายพันรายการภายในฐานข้อมูลเดียว ตอนนี้เขายังไม่ตายเหรอ?
เมื่อใช้ SQL คุณสามารถค้นหาระเบียนที่แน่นอนได้อย่างรวดเร็ว และเปิดชุดระเบียนที่มีเฉพาะระเบียนนั้นได้ ดังนี้:
สุ่ม
RNumber = Int(Rnd*499) + 1
SQL = "เลือก * จากลูกค้าโดยที่ ID = " & RNumber
ตั้ง objRec = ObjConn.Execute(SQL)
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
แทนที่จะเขียน RNumber และ ID คุณเพียงแค่ตรวจสอบการจับคู่ ตราบใดที่คุณพอใจกับการทำงานของโค้ดข้างต้น คุณสามารถจัดการบันทึก "แบบสุ่ม" ได้ตามต้องการ ชุดระเบียนไม่มีเนื้อหาอื่น ดังนั้นคุณจึงสามารถค้นหาระเบียนที่คุณต้องการได้อย่างรวดเร็ว ซึ่งช่วยลดเวลาในการประมวลผลได้อย่างมาก
มาพูดถึงตัวเลขสุ่มกันอีกครั้ง ตอนนี้คุณตั้งใจที่จะบีบน้ำมันหยดสุดท้ายออกจากฟังก์ชันสุ่มแล้ว คุณอาจหยิบบันทึกแบบสุ่มหลายรายการพร้อมกันหรือต้องการใช้บันทึกภายในช่วงสุ่มที่แน่นอน ขยายตัวอย่างสุ่มมาตรฐานข้างต้น คุณสามารถใช้ SQL เพื่อจัดการกับสองสถานการณ์ข้างต้น
หากต้องการดึงบันทึกที่เลือกแบบสุ่มหลายรายการและจัดเก็บไว้ในชุดบันทึกเดียวกัน คุณสามารถจัดเก็บตัวเลขสุ่มสามหมายเลข จากนั้นสืบค้นฐานข้อมูลเพื่อหาบันทึกที่ตรงกับตัวเลขเหล่านี้:
SQL = "SELECT * จากลูกค้าโดยที่ ID = " & RNumber & " OR ID = " & RNumber2 & " หรือ ID = " & RNumber3
หากคุณต้องการเลือก 10 เรคคอร์ด (อาจเป็นรายการ 10 ลิงก์ในแต่ละครั้งที่โหลดเพจ) คุณสามารถใช้ BETWEEN หรือสมการทางคณิตศาสตร์เพื่อเลือกเรคคอร์ดแรกและจำนวนเรคคอร์ดที่เพิ่มขึ้นที่เหมาะสม การดำเนินการนี้สามารถทำได้หลายวิธี แต่คำสั่ง SELECT แสดงให้เห็นความเป็นไปได้เพียงวิธีเดียวเท่านั้น (ID ที่นี่คือตัวเลขที่สร้างขึ้นโดยอัตโนมัติ):
SQL = "เลือก * จากลูกค้าโดยที่ ID ระหว่าง " & RNumber & " และ " & RNumber & "+ 9"
หมายเหตุ: วัตถุประสงค์ของการรันโค้ดข้างต้นไม่ใช่เพื่อตรวจสอบว่ามีบันทึก 9 รายการที่เกิดขึ้นพร้อมกันในฐานข้อมูลหรือไม่
สุ่มอ่านบันทึกหลายรายการและทดสอบ
ไวยากรณ์การเข้าถึง: SELECT 10 อันดับแรก * จากชื่อตาราง ORDER BY Rnd(id)
เซิร์ฟเวอร์ SQL: เลือก top n * จากชื่อตารางเรียงตาม newid()
mysql เลือก * จากชื่อตาราง Order By rand() Limit n
ไวยากรณ์การรวมด้านซ้ายของการเข้าถึง (การพัฒนาล่าสุดต้องใช้การรวมด้านซ้าย ไม่มีสิ่งใดในวิธีใช้ของ Access ไม่มีคำอธิบาย SQL ของการเข้าถึงบนอินเทอร์เน็ต ฉันทดสอบได้ด้วยตัวเองเท่านั้น ฉันจะจดบันทึกไว้ตอนนี้เพื่อใช้อ้างอิงในอนาคต .)
ไวยากรณ์เลือก table1.fd1,table1,fd2,table2.fd2 จาก table1 ซ้ายเข้าร่วม table2 บน table1.fd1,table2.fd1 โดยที่ ...
ใช้คำสั่ง SQL เพื่อแทนที่ไวยากรณ์การแสดงสตริงที่ยาวเกินไปด้วย...:
ฐานข้อมูล SQL: เลือกกรณีเมื่อ len (ฟิลด์)> 10 จากนั้นซ้าย (ฟิลด์, 10) + '...' ฟิลด์อื่นสิ้นสุดเป็น news_name, news_id จาก tablename
ฐานข้อมูลการเข้าถึง: SELECT iif(len(field)>2,left(field,2)+'...',field) FROM tablename;
Conn.Execute คำอธิบาย วิธีการดำเนินการ วิธีการนี้ใช้ในการดำเนินการคำสั่ง SQL ขึ้นอยู่กับว่าชุดระเบียนจะถูกส่งกลับหลังจากดำเนินการคำสั่ง SQL หรือไม่ รูปแบบการใช้งานของวิธีนี้แบ่งออกเป็นสองประเภทต่อไปนี้:
1. เมื่อดำเนินการคำสั่งแบบสอบถาม SQL ชุดระเบียนที่ได้รับจากการสืบค้นจะถูกส่งกลับ การใช้งานคือ:
ตั้งชื่อตัวแปรวัตถุ = การเชื่อมต่อ object.Execute("SQL Query Language")
หลังจากเรียกใช้เมธอด Execute แล้ว วัตถุชุดระเบียนจะถูกสร้างขึ้นโดยอัตโนมัติ และผลลัพธ์ของคิวรีจะถูกจัดเก็บไว้ในวัตถุระเบียน โดยชุดระเบียนจะถูกกำหนดให้กับวัตถุที่ระบุสำหรับการจัดเก็บ ในอนาคต ตัวแปรวัตถุจะ เป็นตัวแทนของวัตถุชุดระเบียน
2. เมื่อดำเนินการภาษาปฏิบัติการของ SQL จะไม่มีการส่งคืนชุดระเบียน การใช้งาน ณ เวลานี้คือ:
วัตถุการเชื่อมต่อดำเนินการ "คำสั่งการดำเนินงาน SQL" [, RecordAffected] [, ตัวเลือก]
·RecordAffected เป็นทางเลือก สามารถวางตัวแปรได้ที่นี่ หลังจากดำเนินการคำสั่ง SQL จำนวนบันทึกที่มีประสิทธิภาพจะถูกบันทึกในตัวแปรโดยอัตโนมัติ เมื่อเข้าถึงตัวแปรนี้ คุณจะทราบได้ว่าคำสั่ง SQL ดำเนินการไปกี่ระเบียน
·ตัวเลือกเสริม ค่าของพารามิเตอร์นี้มักจะเป็น adCMDText ซึ่งใช้เพื่อบอก ADO ว่าอักขระตัวแรกหลังจากวิธี Execute ควรถูกตีความว่าเป็นข้อความคำสั่ง โดยการระบุพารามิเตอร์นี้ คุณสามารถทำให้การดำเนินการมีประสิทธิภาพมากขึ้น
·สามวิธี BeginTrans, RollbackTrans และ CommitTrans เป็นวิธีการที่ได้รับจากอ็อบเจ็กต์การเชื่อมต่อสำหรับการประมวลผลธุรกรรม BeginTrans ใช้เพื่อเริ่มธุรกรรม RollbackTrans ใช้เพื่อย้อนกลับธุรกรรม CommitTrans ใช้เพื่อส่งผลการประมวลผลธุรกรรมทั้งหมด นั่นคือ เพื่อยืนยันการประมวลผลของธุรกรรม
การประมวลผลธุรกรรมสามารถปฏิบัติต่อกลุ่มของการดำเนินการโดยรวมได้ การประมวลผลธุรกรรมจะถือว่าสำเร็จก็ต่อเมื่อคำสั่งทั้งหมดได้รับการดำเนินการสำเร็จเท่านั้น หากคำสั่งใดคำสั่งหนึ่งล้มเหลวในการดำเนินการ การประมวลผลทั้งหมดจะล้มเหลวและกลับสู่สถานะก่อนหน้า
BeginTrans และ CommitTrans ใช้เพื่อทำเครื่องหมายจุดเริ่มต้นและจุดสิ้นสุดของธุรกรรม คำสั่งระหว่างทั้งสองถูกใช้เป็นคำสั่งการประมวลผลธุรกรรม การพิจารณาว่าการประมวลผลธุรกรรมสำเร็จหรือไม่สามารถทำได้โดยการเชื่อมต่อการรวบรวมข้อผิดพลาดของอ็อบเจ็กต์ หากจำนวนสมาชิกของการรวบรวมข้อผิดพลาดไม่ใช่ 0 แสดงว่าเกิดข้อผิดพลาดและการประมวลผลธุรกรรมล้มเหลว อ็อบเจ็กต์ข้อผิดพลาดแต่ละรายการในคอลเลกชันข้อผิดพลาดแสดงถึงข้อความแสดงข้อผิดพลาด
ข้อมูลสำคัญเกี่ยวกับสารานุกรมคำสั่ง SQL
26/10/2549 13:46 น
คำสั่งลบ
คำสั่ง DELETE: ใช้เพื่อสร้างแบบสอบถามแบบลบที่สามารถลบระเบียนออกจากตารางตั้งแต่หนึ่งตารางขึ้นไปที่แสดงอยู่ในส่วนคำสั่ง FROM และส่วนคำสั่งนั้นตรงตามเงื่อนไขในส่วนคำสั่ง WHERE คุณสามารถใช้ DELETE เพื่อลบหลายระเบียน
ไวยากรณ์: ลบ [ตาราง*] จากตาราง WHERE เกณฑ์
ไวยากรณ์: ลบ * จากตาราง WHERE เกณฑ์ = 'คำค้นหา'
คำอธิบาย: พารามิเตอร์ตารางใช้เพื่อระบุชื่อของตารางที่จะลบเรคคอร์ด
พารามิเตอร์เกณฑ์คือนิพจน์ที่ใช้เพื่อระบุว่าควรลบเรกคอร์ดใด
คุณสามารถใช้เมธอด Execute ร่วมกับคำสั่ง DROP เพื่อลบตารางทั้งหมดออกจากฐานข้อมูลได้ อย่างไรก็ตาม หากคุณลบตารางด้วยวิธีนี้ คุณจะสูญเสียโครงสร้างของตาราง ข้อแตกต่างคือเมื่อใช้ DELETE เฉพาะข้อมูลเท่านั้นที่จะถูกลบ โครงสร้างของตารางและคุณลักษณะทั้งหมดของตารางจะยังคงอยู่ เช่น คุณลักษณะของฟิลด์และดัชนี
อัปเดต
ส่วนเรื่อง UPDATE ด่วน! - - - - - - - - - -
ตาราง A (ID, FIRSTNAME, LASTNAME) ในฐานข้อมูล ORACLE
ตาราง B(ID,นามสกุล)
ข้อมูลในฟิลด์ ID ดั้งเดิมและ FIRSTNAME ในตาราง A เสร็จสมบูรณ์แล้ว ข้อมูลในฟิลด์ ID ดั้งเดิมและ LASTNAME ในตาราง B เสร็จสมบูรณ์แล้ว ตอนนี้เราจำเป็นต้องกรอกข้อมูลที่เกี่ยวข้องของฟิลด์ LASTNAME ในตาราง B ลงใน LASTNAME ตาราง A. ตำแหน่งที่สอดคล้องกัน เขตข้อมูล ID ในทั้งสองตารางมีความสัมพันธ์กัน
ขอบคุณล่วงหน้า!!!!
อัปเดตชุด a.lastname=(เลือก b.lastname จาก b โดยที่ a.id=b.id)
เชี่ยวชาญคำสั่งการดำเนินการข้อมูลพื้นฐานที่สุดสี่คำสั่งของ SQL: แทรก เลือก อัปเดต และลบ
การฝึกฝน SQL ถือเป็นทรัพย์สินอันมีค่าสำหรับผู้ใช้ฐานข้อมูล ในบทความนี้ เราจะแนะนำให้คุณเชี่ยวชาญคำสั่งการจัดการข้อมูลขั้นพื้นฐานที่สุดสี่คำสั่ง ซึ่งเป็นฟังก์ชันหลักของ SQL เพื่อแนะนำตัวดำเนินการเปรียบเทียบ การยืนยันการเลือก และตรรกะสามค่าตามลำดับ เมื่อคุณสำเร็จการศึกษาเหล่านี้ เห็นได้ชัดว่าคุณเริ่มมีความเชี่ยวชาญใน SQL แล้ว
ก่อนที่เราจะเริ่มต้น ให้ใช้คำสั่ง CREATE TABLE เพื่อสร้างตาราง (ดังแสดงในรูปที่ 1) คำสั่ง DDL กำหนดวัตถุฐานข้อมูล เช่น ตาราง คอลัมน์ และมุมมอง พวกเขาไม่ได้ประมวลผลแถวในตารางเนื่องจากคำสั่ง DDL ไม่ประมวลผลข้อมูลจริงในฐานข้อมูล งานเหล่านี้ได้รับการจัดการโดยคำสั่ง SQL อีกประเภทหนึ่ง—คำสั่ง Data Manipulation Language (DML)
มีการดำเนินการ DML พื้นฐานสี่ประการใน SQL: INSERT, SELECT, UPDATE และ DELETE เนื่องจากผู้ใช้ SQL ส่วนใหญ่ใช้สิ่งเหล่านี้โดยทั่วไป เราจึงจำเป็นต้องอธิบายทีละรายการที่นี่ ในรูปที่ 1 เราให้ตารางชื่อ EMPLOYEES แต่ละแถวสอดคล้องกับเรกคอร์ดพนักงานเฉพาะ โปรดทำความคุ้นเคยกับตารางนี้ เราจะใช้ในตัวอย่างต่อไปนี้