ลบกับวาง
ทั้งคำสั่ง Delete และ Drop เป็นของคำสั่ง SQL (Structured Query Language) และจะใช้ในกรณีที่นำข้อมูลออกจากฐานข้อมูล การลบเป็นคำสั่ง DML (ภาษาการจัดการข้อมูล) จะลบข้อมูลบางส่วนหรือทั้งหมดออกจากตารางตามเงื่อนไขที่ผู้ใช้ระบุ คำสั่ง Delete จะลบเฉพาะระเบียนข้อมูลในตาราง แต่โครงสร้างตารางจะแสดงเหมือนกันในฐานข้อมูล คำสั่ง Drop เป็นคำสั่ง DDL (Data Definition Language) และทำหน้าที่แตกต่างจากคำสั่ง Delete ไม่ใช่คำสั่งแบบมีเงื่อนไข ดังนั้นจะลบข้อมูลทั้งหมดออกจากตาราง นอกจากนี้ยังลบโครงสร้างตารางและการอ้างอิงทั้งหมดไปยังตารางนั้นออกจากฐานข้อมูลอย่างถาวร
ลบใบแจ้งยอด
ดังที่กล่าวไว้ข้างต้น คำสั่ง Delete จะลบข้อมูลออกจากตารางตามเงื่อนไขที่ให้ไว้ และคำสั่ง Where จะใช้กับ Delete เพื่อระบุเงื่อนไขที่จำเป็นนี้ หากไม่ได้ระบุคำสั่ง Where ด้วย Delete ข้อมูลตารางทั้งหมดจะถูกลบออกจากตาราง อย่างไรก็ตาม ในการดำเนินการ ลบ โครงสร้างตารางที่มีอยู่ยังคงเหมือนเดิม ดังนั้น ผู้ใช้จึงไม่จำเป็นต้องกำหนดโครงสร้างตารางหากเขา/เธอต้องการนำตารางกลับมาใช้ใหม่อีกครั้ง เนื่องจาก Delete เป็นคำสั่ง DML คำสั่งนี้จะไม่คอมมิตโดยอัตโนมัติหลังจากดำเนินการ จึงสามารถย้อนกลับเพื่อเลิกทำการดำเนินการก่อนหน้านี้ได้ มิฉะนั้น ควรเรียกคำสั่ง Commit เพื่อทำการเปลี่ยนแปลงอย่างถาวร ขณะดำเนินการคำสั่ง Delete จะบันทึกรายการในบันทึกธุรกรรมสำหรับการลบแต่ละแถว จึงส่งผลต่อการชะลอการทำงาน เช่นกัน จะไม่จัดสรรพื้นที่ใหม่ที่ใช้หลังจากดำเนินการ
ต่อไปนี้คือไวยากรณ์สำหรับคำสั่ง Delete
ลบจาก
หรือ
ลบจากที่ไหน
ใบแจ้งยอด
Drop ไม่เพียงแต่ลบระเบียนตารางทั้งหมดออกจากฐานข้อมูลโดยไม่มีเงื่อนไขใดๆ แต่ยังลบโครงสร้างตาราง ข้อจำกัดด้านความสมบูรณ์ ดัชนี และสิทธิ์การเข้าถึงของตารางที่เกี่ยวข้องออกจากฐานข้อมูลอย่างถาวร ดังนั้น ความสัมพันธ์ทั้งหมดสำหรับตารางอื่นๆ จึงไม่มีอยู่อีกต่อไป และข้อมูลเกี่ยวกับตารางจะถูกลบออกจากพจนานุกรมข้อมูล ดังนั้น หากผู้ใช้ต้องการใช้ตารางซ้ำ เขา/เธอจำเป็นต้องกำหนดโครงสร้างตารางและการอ้างอิงอื่นๆ ทั้งหมดไปยังตารางอีกครั้ง Drop คือคำสั่ง DDL และหลังจากดำเนินการคำสั่งแล้ว จะไม่สามารถย้อนกลับได้อีก เนื่องจากคำสั่ง Drop ใช้การผูกมัดอัตโนมัติ ดังนั้นผู้ใช้ควรระมัดระวังในการใช้คำสั่งนี้ให้มาก คำสั่ง Drop ไม่สามารถใช้กับตารางระบบ และไม่สามารถใช้กับตารางที่มีข้อจำกัดของคีย์ต่างประเทศ
Drop command สามารถใช้ได้ไม่เฉพาะกับตาราง SQL เท่านั้น แต่สำหรับฐานข้อมูล มุมมอง และคอลัมน์ของตาราง และข้อมูลทั้งหมดที่จัดเก็บไว้ในออบเจ็กต์เหล่านี้จะสูญหายไปพร้อมกับอ็อบเจ็กต์อย่างถาวร
กำลังติดตามเป็นไวยากรณ์ทั่วไปสำหรับคำสั่ง Drop
วางตาราง
ลบกับทิ้งต่างกันอย่างไร
1. คำสั่ง Delete and Drop จะลบข้อมูลตารางออกจากฐานข้อมูล
2. แต่คำสั่ง Delete จะทำการลบตามเงื่อนไข ในขณะที่คำสั่ง Drop จะลบระเบียนทั้งหมดในตาราง
3. นอกจากนี้ คำสั่ง Delete จะลบเฉพาะแถวในตารางและคงโครงสร้างตารางไว้เหมือนเดิม ในขณะที่คำสั่ง Drop จะลบข้อมูลทั้งหมดในตารางและโครงสร้างตาราง และจะลบการอ้างอิงอื่นๆ ทั้งหมดออกจากฐานข้อมูลด้วย
4. Delete เป็นคำสั่ง DML ในขณะที่ Drop เป็นคำสั่ง DDL ดังนั้น การลบสามารถย้อนกลับได้และไม่มีการคอมมิตอัตโนมัติ ในขณะที่การดำเนินการดรอปไม่สามารถย้อนกลับได้ไม่ว่าด้วยวิธีใด เนื่องจากเป็นคำสั่งที่คอมมิตอัตโนมัติ
5. คำสั่ง Drop ไม่สามารถใช้กับตารางที่อ้างอิงโดยข้อจำกัดของคีย์ต่างประเทศ ในขณะที่คำสั่ง Delete สามารถใช้แทนคำสั่งนั้นได้
6. ควรใช้คำสั่ง Drop อย่างระมัดระวังด้วยความเข้าใจที่ดีเมื่อเทียบกับคำสั่ง Delete ในแอปพลิเคชัน SQL