Key Difference: DELETE เป็นคำสั่งที่อนุญาตให้โปรแกรมเมอร์ลบแถวเดียวออกจากตารางในฐานข้อมูล SQL คำสั่งอยู่ภายใต้ DML หรือมากกว่า Data Manipulation Language คำสั่ง TRUNCATE อนุญาตให้โปรแกรมเมอร์ลบแถวทั้งหมดออกจากตารางในฐานข้อมูล SQL คำสั่งอยู่ภายใต้ Data Definition Language หรือ DDL
เซิร์ฟเวอร์ SQL ใช้เพื่อจัดเก็บข้อมูลที่เข้าถึงได้บนเครือข่ายหรือแม้กระทั่งผ่านอินเทอร์เน็ต เซิร์ฟเวอร์ SQL มีบทบาทหลักเมื่อพูดถึงการจัดเก็บและดึงข้อมูลผ่านอินเทอร์เน็ต ถ้ามันไม่ได้สำหรับเซิร์ฟเวอร์อินเทอร์เน็ตจะไม่เป็นอย่างที่มันเป็นในขณะนี้
เงื่อนไข DELETE และ TRUNCATE เป็นเงื่อนไขที่สำคัญเมื่อพูดถึงการลบข้อมูลจากเซิร์ฟเวอร์เหล่านี้ มีหลายวิธีในการเพิ่มข้อมูลและลบข้อมูลจากเซิร์ฟเวอร์ ในขณะที่เราจะไม่ลงรายละเอียดเกี่ยวกับการเพิ่มข้อมูล คำสองคำนี้ทำงานเพื่อลบข้อมูล อย่างไรก็ตามแต่ละคำจะทำหน้าที่แตกต่างกันและลบข้อมูลในลักษณะที่แตกต่างกัน
DELETE เป็นคำสั่งที่อนุญาตให้โปรแกรมเมอร์ลบแถวเดียวออกจากตารางในฐานข้อมูล SQL คำสั่งอยู่ภายใต้ DML หรือมากกว่า Data Manipulation Language ภาษานี้มีความรับผิดชอบส่วนใหญ่ (ตามชื่อแนะนำ) การจัดการข้อมูล นอกจากนี้ยังใช้จัดเก็บแก้ไขเรียกคืนลบและอัปเดตข้อมูลและรวมถึงข้อกำหนดเช่น SELECT, INSERT, UPDATE, DELETE ฯลฯ ประโยชน์หลักของการใช้ภาษานี้และคำสั่งนี้คืออนุญาตให้โปรแกรมเมอร์ลบหนึ่งเฉพาะ แถวจากแถวข้อมูลทั้งหมดที่มี นอกจากนี้ยังช่วยให้โปรแกรมเมอร์สามารถใช้ตัวกรองและเงื่อนไขที่อนุญาตให้ลบแถวบางอย่างด้วยการค้นหาคำหลัก
คำสั่ง TRUNCATE อนุญาตให้โปรแกรมเมอร์ลบแถวทั้งหมดออกจากตารางในฐานข้อมูล SQL คำสั่งอยู่ภายใต้ Data Definition Language หรือ DDL ภาษา DDL ใช้เพื่อสร้างและปรับเปลี่ยนโครงสร้างของตารางและวัตถุอื่น ๆ ในฐานข้อมูล มันมีคำสั่งอื่น ๆ เช่น CREATE, ALTER, DROP, COMMENT, RENAME เป็นต้นประโยชน์หลักของการใช้ภาษานี้คือมันช่วยให้โปรแกรมเมอร์สามารถลบแถวทั้งหมดออกจากตารางได้ นอกจากนี้มันยังลบระเบียนทั้งหมดออกจากตารางรวมถึงช่องว่างที่จัดสรรสำหรับบันทึกเหล่านี้
มีความแตกต่างที่สำคัญอีกอย่างระหว่างทั้งสอง ในฟังก์ชัน DELETE จะมีตัวเลือกการย้อนกลับซึ่งระบบจะเก็บบันทึกไฟล์ที่ถูกลบ โปรแกรมเมอร์สามารถกู้คืนไฟล์เหล่านี้ได้ถ้าต้องการ อย่างไรก็ตามในฟังก์ชั่น TRUNCATE ตัวเลือกนี้ไม่สามารถใช้ได้ เมื่อลบไฟล์แล้วไฟล์เหล่านั้นจะหายไปจากระบบ การขาดการเก็บบันทึกนี้เป็นสิ่งที่ทำให้ฟังก์ชัน TRUNCATE เร็วกว่าฟังก์ชัน DELETE
การเปรียบเทียบระหว่าง Delete และ Truncate:
ลบ | ตัด | |
วัตถุประสงค์ | เป็นคำสั่งที่อนุญาตให้โปรแกรมเมอร์ลบแถวในตาราง | เป็นคำสั่งที่อนุญาตให้โปรแกรมเมอร์ลบแถวทั้งหมดออกจากตาราง |
คำสั่งภาษา | ภาษาการจัดการข้อมูล | ภาษานิยามข้อมูล |
การกระทำ | คำสั่ง DELETE ดำเนินการโดยใช้การล็อกแถวโดยแต่ละแถวในตารางถูกล็อคเพื่อลบ | คำสั่ง TRUNCATE ล็อคตารางและหน้า แต่ไม่ใช่แต่ละแถว |
ลบ | ลบข้อมูลที่ระบุซึ่งมีเงื่อนไขอยู่ | ลบข้อมูลทั้งหมดในตาราง |
ฟิลเตอร์ | อนุญาตให้ฟิลเตอร์ลบข้อมูลบางอย่าง | ไม่อนุญาตให้ใช้ตัวกรอง |
ไก | เปิดใช้งานทริกเกอร์เนื่องจากการดำเนินการถูกบันทึกเป็นรายบุคคล | ไม่สามารถเปิดใช้ทริกเกอร์ได้เนื่องจากการดำเนินการไม่ได้บันทึกการลบแถวแต่ละแถว |
เวลาแสดง | ประสิทธิภาพลดลงเนื่องจากมีการบันทึก | เร็วกว่าลบเนื่องจากไม่ได้เก็บบันทึก |
ย้อนกลับ (เลิกทำ) | อนุญาตให้ย้อนกลับหรือยกเลิกตัวเลือก | ไม่อนุญาตให้ใช้ตัวเลือกการย้อนกลับหรือเลิกทำ |