ความแตกต่างระหว่าง DELETE และ DROP ใน SQL

ผู้เขียน: Laura McKinney
วันที่สร้าง: 1 เมษายน 2021
วันที่อัปเดต: 5 พฤษภาคม 2024
Anonim
SQL: Delete Vs Truncate Vs Drop
วิดีโอ: SQL: Delete Vs Truncate Vs Drop

เนื้อหา


DELETE และ DROP เป็นคำสั่งที่ใช้เพื่อลบองค์ประกอบของฐานข้อมูล คำสั่ง DELETE เป็นคำสั่ง Data Manipulation Language ในขณะที่ DROP เป็นคำสั่ง Data Definition Language จุดที่แตกต่างคำสั่ง DELETE และ DROP คือ ลบ ใช้เพื่อลบสิ่งอันดับจากตารางและ DROP ใช้เพื่อลบสคีมาตารางโดเมนหรือข้อ จำกัด ออกจากฐานข้อมูล ให้เราคุยกันถึงความแตกต่างระหว่างคำสั่ง DELETE และ DROP ใน SQL ด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบด้านล่าง

เนื้อหา: DELETE Vs DROP

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบลบDROP
ขั้นพื้นฐานDELETE ลบสิ่งอันดับบางส่วนหรือทั้งหมดออกจากตารางDROP สามารถลบสคีมาตารางโดเมนหรือข้อ จำกัด ทั้งหมดออกจากฐานข้อมูล
ภาษาDELETE เป็นคำสั่ง Data Manipulation LanguageDROP เป็นคำสั่งภาษานิยามข้อมูล
ประโยคWHERE clause สามารถใช้พร้อมกับคำสั่ง DELETEไม่มีข้อใดถูกใช้พร้อมกับคำสั่ง DROP
ย้อนกลับการกระทำที่ดำเนินการโดย DELETE สามารถย้อนกลับได้การดำเนินการที่ดำเนินการโดย DROP ไม่สามารถย้อนกลับได้
ช่องว่างแม้ว่าคุณจะลบ tuples ทั้งหมดของตารางโดยใช้ DELETE พื้นที่ที่ถูกครอบครองโดยตารางในหน่วยความจำจะไม่ถูกปล่อยให้ว่างตารางที่ลบโดยใช้ DROP จะเพิ่มพื้นที่ตารางจากหน่วยความจำ


คำจำกัดความของ DELETE

ลบเป็น ภาษาการจัดการข้อมูล คำสั่ง (DDL) คำสั่ง DELETE ใช้เมื่อคุณต้องการลบ บาง หรือ สิ่งอันดับทั้งหมด จากความสัมพันธ์ ถ้า WHERE clause ถูกใช้พร้อมกับคำสั่ง DELETE, จะลบเฉพาะสิ่งอันดับที่สอดคล้องกับเงื่อนไข clause WHERE

หาก WHERE clause หายไปจากคำสั่ง DELETE ดังนั้นโดยดีฟอลต์ tuples ทั้งหมดจะถูกลบออกจากความสัมพันธ์แม้ว่าความสัมพันธ์ที่มี tuples เหล่านั้นยังคงอยู่ในสกีมา คุณไม่สามารถลบความสัมพันธ์ทั้งหมดหรือโดเมนหรือข้อ จำกัด โดยใช้คำสั่ง DELETE

ไวยากรณ์ของคำสั่ง DELETE มีดังนี้:

ลบออกจาก Relations_name WHERE เงื่อนไข;

หากคุณลิงก์สองตารางโดยใช้ foreign key และลบ tuple จากตารางที่อ้างอิงจากนั้น tuple จากตารางอ้างอิงโดยอัตโนมัติจะถูกลบเพื่อรักษา ความสมบูรณ์ของการอ้างอิง.

เพื่อรักษาความสมบูรณ์ของการอ้างอิง DELETE มีสองตัวเลือกพฤติกรรม จำกัด และ น้ำตก. RESTRICT ปฏิเสธการลบ tuple หากอ้างอิงโดย tuple ที่อ้างอิงในตารางอื่น เรียงซ้อนช่วยให้การลบของ tuple อ้างอิงที่อ้างถึง tuple ที่ถูกลบ


ความหมายของ DROP

DROP เป็น ภาษานิยามข้อมูล คำสั่ง (DDL) คำสั่ง DROP ลบองค์ประกอบที่มีชื่อของสคีมาเช่น ความสัมพันธ์, โดเมน หรือ ข้อ จำกัดคุณสามารถลบทั้งหมดได้ สคี ใช้คำสั่ง DROP

ไวยากรณ์ของคำสั่ง DROP มีดังนี้:

DROP SCHEMA schema_name RESTRICT;

DROP ตาราง table_name เรียงซ้อน;

คำสั่ง DROP มีสองตัวเลือกพฤติกรรมที่ชื่อ น้ำตก และ จำกัด. เมื่อ CASCADE ถูกใช้เพื่อ DROP schema มันจะลบองค์ประกอบที่เกี่ยวข้องทั้งหมดเช่นความสัมพันธ์ทั้งหมดใน schema, โดเมนและข้อ จำกัด

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

ในกรณีที่คุณวาง Schema โดยใช้ RESTRICT แล้วคำสั่ง DROP จะดำเนินการเฉพาะในกรณีที่ไม่มีองค์ประกอบใน สคี ถูกทิ้งไว้ หากคุณวางตารางโดยใช้ RESTRICT คำสั่ง DROP จะทำงานเฉพาะในกรณีที่ไม่มีองค์ประกอบใน ตาราง ถูกทิ้งไว้

ความแตกต่างที่สำคัญระหว่าง DELETE และ DROP ใน SQL

  1. คำสั่ง DELETE ใช้เพื่อลบสิ่งอันดับบางส่วนหรือทั้งหมดออกจากตาราง ในทางกลับกันคำสั่ง DROP จะใช้เพื่อลบสคีมาตารางโดเมนหรือข้อ จำกัด ออกจากฐานข้อมูล
  2. DELETE เป็นคำสั่ง Data Manipulation Language ในขณะที่ DROP เป็นคำสั่ง Data Definition Language
  3. DELETE สามารถใช้พร้อมกับ WHERE clause ได้ แต่ DROP จะไม่ถูกใช้พร้อมกับคำสั่งใด ๆ
  4. การดำเนินการที่ดำเนินการโดยคำสั่ง DELETE สามารถย้อนกลับได้ แต่ไม่ใช่ในกรณีของคำสั่ง DROP
  5. เนื่องจากคำสั่ง DELETE จะไม่ลบตารางดังนั้นจึงไม่มีพื้นที่ว่างในขณะที่ DROP จะลบทั้งตารางทำให้พื้นที่หน่วยความจำว่าง


สรุป:

คำสั่ง DELETE ใช้เพื่อลบแถวภายในตารางและใช้คำสั่ง DROP เพื่อลบตารางทั้งหมด