5.1 ลบออกจากคำสั่ง

สิ่งที่ทำได้ง่ายใน SQL คือการลบข้อมูล คุณสามารถลบทุกอย่างได้อย่างรวดเร็วและไม่มีใครจะขอการยืนยันจากคุณ

เริ่มจากสถานการณ์ที่ง่ายที่สุด: วิธีลบหนึ่งแถวในตาราง

นี่คือสถานการณ์ที่คุณจะเห็นบ่อยที่สุด ซึ่งมักจะเป็นการลบบันทึกเฉพาะ และแบบสอบถามมาตรฐานมักจะมีลักษณะดังนี้:

DELETE FROM table
WHERE id = 133;

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

สถานการณ์ที่สองกำลังลบแถวที่กำหนดโดย id listทุกอย่างค่อนข้างง่ายที่นี่:

DELETE FROM table
WHERE id IN (1, 2, 3,);

สถานการณ์ที่สามคือการลบแถวที่ตรงกับเงื่อนไขบางประการ:

DELETE FROM table
WHERE condition;

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

DELETE FROM employee
WHERE occupation = 'Programmer';

และสุดท้าย ถ้าคุณต้องการลบบันทึกทั้งหมด คุณสามารถเขียนแบบสอบถามดังนี้:

DELETE FROM table

แบบสอบถามง่ายๆ นี้เพียงพอที่จะลบระเบียนทั้งหมดออกจากตาราง อย่างไรก็ตาม จะไม่มี Ctrl + Z ในกรณีนี้ การบันทึกจะถูกลบออกไปโดยไม่สามารถกู้คืนได้ แค่นั้น ดังนั้นให้ สำรองข้อมูลบ่อยขึ้น

5.2 ลบทุกอย่าง

สำหรับการลบอย่างรวดเร็ว (เพื่อเพิ่มความปวดหัวให้กับผู้ใช้) SQL มีคำสั่งเพิ่มเติมอีกสองสามคำสั่ง

จะลบข้อมูลทั้งหมดในตารางอย่างรวดเร็วได้อย่างไร? ใช้ตัวดำเนินการ TRUNCATE :

TRUNCATE TABLE table

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

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

DROP TABLE table

อย่างไรก็ตาม มีตัวเลือกที่คล้ายกันกับสคีมาฐานข้อมูล หากคุณต้องการลบฐานข้อมูลเอง ให้ทำดังนี้

DROP SCHEME database

หรือ:

DROP DATABASE database

คุณยังสามารถใช้ DROP เพื่อลบ:

  • เหตุการณ์
  • การทำงาน
  • ขั้นตอน
  • ดัชนี
  • ดู
  • สิ่งกระตุ้น

และนี่คือเรื่องราวที่น่าสนใจเกี่ยวกับการลบข้อมูล:

วันหยุดของวัน GitLab ลบข้อมูลลูกค้า 300 GB เนื่องจากข้อผิดพลาดของผู้ดูแลระบบ

sudo rm -rf หรือ Chronicle of the GitLab.com เหตุการณ์ฐานข้อมูลตั้งแต่ 2017/01/31

หุบเขาซิลิคอน "Silicon Valley" - การลบข้อมูล