คำสั่ง SQL DELETE จะลบแถวออกจากตารางฐานข้อมูล คุณสามารถใช้คำสั่ง WHERE เพื่อระบุว่าเร็กคอร์ดใดควรถูกลบ หากคุณไม่ระบุคำสั่ง where ทุกแถวในตารางจะถูกลบออก
การลบแถวเป็นการดำเนินการทั่วไปใน SQL . ตัวอย่างเช่น ผู้ใช้อาจตัดสินใจลบบัญชีของตนบนเว็บไซต์ของคุณ คุณจะต้องลบข้อมูลของพวกเขาออกจากฐานข้อมูลผู้ใช้ของคุณ
คุณสามารถใช้ SQL DELETE คำสั่งเพื่อลบแถวใด ๆ ออกจากตารางของคุณ ในบทช่วยสอนนี้ เราจะพูดถึงวิธีดำเนินการ แถวการลบ SQL คำสั่งบนฐานข้อมูลของคุณ
ทบทวนบันทึก SQL
ฐานข้อมูลประกอบด้วยชุดของตาราง ซึ่งแต่ละตารางจัดเก็บระเบียนของตนเอง
ตัวอย่างเช่น ฐานข้อมูลของบริษัทเราอาจรวมตารางเกี่ยวกับพนักงาน ซัพพลายเออร์ แผนก เงินเดือน และอื่นๆ แต่ละตารางเหล่านั้นจะรวมระเบียนของตนเอง ซึ่งเป็นรายการแต่ละรายการในตาราง ตารางเงินเดือนอาจรวมรายการการชำระเงินให้กับพนักงาน
ในการเพิ่มระเบียนใหม่ลงในตาราง เราใช้ SQL INSERT คำแถลง. ซึ่งช่วยให้เราเพิ่มบันทึกที่มีค่าเฉพาะลงในคอลัมน์ที่เราเลือกได้
นี่คือตัวอย่างของ SQL INSERT คำสั่งในการดำเนินการ:
INSERT INTO company_departments (name, department_id) VALUES ('Payroll', 5);
แต่ถ้าเราต้องการลบแถวออกจากตารางของเราล่ะ เราสามารถใช้คำสั่งแถว DELETE เพื่อบรรลุเป้าหมายนี้
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
SQL ลบแถวออกจากตาราง
SQL DELETE คำสั่งลบแถวหรือหลายแถวออกจากตาราง คำสั่งใช้สองพารามิเตอร์ อันดับแรก คุณควรระบุชื่อตารางที่ DELETE งบควรเน้น. หรือระบุเงื่อนไขใดๆ ที่ต้องปฏิบัติตามก่อนที่จะลบบันทึก
นี่คือไวยากรณ์สำหรับ DELETE คำสั่ง:
DELETE FROM table_name WHERE conditions_are_met;
คำสั่งลบไม่มีคำสั่ง "เลิกทำ" เมื่อลบบันทึกออกจากฐานข้อมูลแล้ว จะไม่สามารถกู้คืนได้
คำสั่ง WHERE ให้คุณระบุได้ว่าเรคคอร์ดใดควรถูกลบ สิ่งนี้ใช้ไวยากรณ์เดียวกับ SQL WHERE คำสั่งกับคำสั่งอื่นๆ เช่น SQL INSERT หรือ UPDATE .
ลบ คำสั่งไม่ลบตาราง มันจะลบระเบียนภายในตารางนั้น
มาดูตัวอย่างของ SQL DELETE คำสั่ง
ลบตัวอย่าง SQL แถว
หากเราต้องการลบเฉพาะระเบียนที่ตรงกับชุดเงื่อนไขบางอย่าง เราสามารถทำได้โดยการระบุ WHERE ข้อ สมมติว่าเราได้ตัดสินใจว่า การตลาด ควรรวมแผนกเป็นฝ่ายขาย
ขณะนี้ตารางของเรามีบันทึกดังต่อไปนี้:
ชื่อ | หัวเรื่อง | แผนก_id |
จอห์น | การตลาด | 2 |
รีเบคก้า | ยอดขาย | 3 |
เราจะใช้แบบสอบถาม DELETE เพื่อลบ การตลาด แผนกจากรายการของเรา:
DELETE FROM company_departments WHERE title = 'Marketing';
เราสามารถตรวจสอบว่าบันทึกของเราถูกลบโดยใช้คำสั่ง SQL SELECT หรือไม่ ชุดผลลัพธ์ของเราคือ:
ชื่อ | หัวเรื่อง | แผนก_id |
รีเบคก้า | ยอดขาย | 3 |
บันทึกพนักงานของ Rebecca ไม่ได้รับผลกระทบจากการดำเนินการ DELETE ของเรา เนื่องจากเราลบเฉพาะผู้ที่มีชื่อเท่ากับ "การตลาด" แต่บันทึกของจอห์นหายไป นี่เป็นเพราะว่าจอห์นทำงานให้กับแผนกการตลาด
ในกรณีนี้ เราได้ลบระเบียนเดียว หากมีพนักงานในแผนกการตลาดเพิ่มขึ้น บันทึกของพวกเขาก็จะถูกลบออกไปด้วย
ลบตัวอย่าง SQL แถวทั้งหมด
สมมติว่าเราต้องการลบบันทึกทั้งหมดใน company_departments ของเรา เนื่องจากเรากำลังอยู่ระหว่างการปรับโครงสร้างองค์กร เราสามารถใช้คำสั่งนี้เพื่อลบบันทึกเหล่านั้น:
DELETE FROM company_departments;
แบบสอบถามนี้จะลบแถวทั้งหมดในตารางของเรา company_departments . เนื่องจากเราไม่ได้ระบุเงื่อนไขใดๆ ที่จะต้องปฏิบัติตามก่อนที่จะลบเรกคอร์ด หากคุณละเว้นคำสั่ง where จาก DELETE . ใดๆ คำสั่งจะลบแถวทั้งหมดในตาราง
หากเราสอบถาม company_departments . ของเรา ตารางเพื่อค้นหาพนักงานที่มีชื่อ การตลาด เราจะเห็นว่าไม่มีบันทึก:
ชื่อ | หัวเรื่อง | แผนก_id |
| | |
(0 แถว)
บทสรุป
คำสั่ง SQL DELETE ลบแถวออกจากฐานข้อมูล คำสั่งนี้จะลบแถวทั้งหมดออกจากฐานข้อมูล เว้นแต่คุณจะระบุคำสั่ง WHERE คำสั่ง WHERE ให้คุณควบคุมได้ว่าจะลบระเบียนใด
ในบทช่วยสอนนี้ เราได้พูดถึงพื้นฐานของการสร้างแถวใน SQL , และ. จากนั้นเราได้พูดคุยถึงวิธีการใช้ DELETE คำสั่งลบแถวออกจาก SQL โต๊ะ. เราได้พูดคุยกันถึงวิธีที่คุณสามารถลบบันทึกตามเงื่อนไขบางอย่าง และลบข้อมูลทั้งหมดในตารางได้
คุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ SQL หรือไม่? ดูคู่มือ How to Learn SQL ฉบับสมบูรณ์สำหรับรายการแหล่งข้อมูลการเรียนรู้ชั้นนำและหลักสูตรออนไลน์