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