ในบทช่วยสอนนี้ เราจะดูคำสั่ง DELETE ใน SQL เพื่อเรียนรู้วิธีใช้คำสั่งนี้เพื่อลบแถวที่มีอยู่ออกจากตาราง
ลบคำสั่ง
ข้อมูลต่อไปนี้แสดงไวยากรณ์ของคำสั่ง DELETE ใน SQL:
ลบ
จาก
table_name
ที่ไหน
เงื่อนไข;
เราเริ่มต้นด้วยคำสั่ง DELETE เพื่อบอกกลไกฐานข้อมูลว่าเราต้องการลบแถวหรือหลายแถว
จากนั้นเราระบุชื่อของตารางที่เราต้องการลบแถว ต่อไป เราจะระบุเงื่อนไขในส่วนคำสั่ง WHERE นี่เป็นประโยคที่สำคัญเนื่องจากช่วยให้เราสามารถจำกัดแถวเฉพาะที่เราต้องการลบออกได้
หากเราละเว้นส่วนคำสั่ง WHERE คำสั่งนั้นจะลบแถวทั้งหมดออกจากตารางที่ระบุ ใช้ด้วยความระมัดระวัง
คำสั่งจะส่งกลับจำนวนแถวที่ถูกลบออกจากตาราง
ตารางตัวอย่าง
ก่อนที่เราจะอธิบายตัวอย่างเกี่ยวกับวิธีใช้คำสั่ง DELETE ให้เราสร้างตารางพื้นฐานเพื่อวัตถุประสงค์ในการสาธิตก่อน
คำสั่ง CREATE TABLE เป็นดังนี้:
สร้างผลิตภัณฑ์ตาราง (product_id INT คีย์หลัก AUTO_INCREMENT,
product_name วาร์ชาร์( 255 -
หมวดหมู่ วาร์ชาร์( 255 -
ราคาทศนิยม( 10 - 2 -
ปริมาณ INT,
expiration_date วันที่,
บาร์โค้ด BIGINT
-
เมื่อเราสร้างตารางแล้ว เราก็สามารถแทรกข้อมูลตัวอย่างลงในตารางได้ดังที่แสดงในคำสั่งแทรกต่อไปนี้:
แทรกเข้าไปข้างใน
ผลิตภัณฑ์ (ชื่อผลิตภัณฑ์,
หมวดหมู่,
ราคา,
ปริมาณ,
วันหมดอายุ,
บาร์โค้ด)
ค่า ( 'หมวกเชฟ 25ซม.' -
'เบเกอรี่' -
24.67 -
57 -
'2023-09-09' -
2854509564204 -
แทรก
เข้าไปข้างใน
ผลิตภัณฑ์ (ชื่อผลิตภัณฑ์,
หมวดหมู่,
ราคา,
ปริมาณ,
วันหมดอายุ,
บาร์โค้ด)
ค่า ( 'ไข่นกกระทา - กระป๋อง' -
'ตู้กับข้าว' -
17.99 -
67 -
'2023-09-29' -
1708039594250 -
แทรก
เข้าไปข้างใน
ผลิตภัณฑ์ (ชื่อผลิตภัณฑ์,
หมวดหมู่,
ราคา,
ปริมาณ,
วันหมดอายุ,
บาร์โค้ด)
ค่า ( 'กาแฟ - Egg Nog Capuccino' -
'เบเกอรี่' -
92.53 -
10 -
'2023-09-22' -
8704051853058 -
แทรก
เข้าไปข้างใน
ผลิตภัณฑ์ (ชื่อผลิตภัณฑ์,
หมวดหมู่,
ราคา,
ปริมาณ,
วันหมดอายุ,
บาร์โค้ด)
ค่า ( 'ลูกแพร์ - เต็มไปด้วยหนาม' -
'เบเกอรี่' -
65.29 -
48 -
'2023-08-23' -
5174927442238 -
แทรก
เข้าไปข้างใน
ผลิตภัณฑ์ (ชื่อผลิตภัณฑ์,
หมวดหมู่,
ราคา,
ปริมาณ,
วันหมดอายุ,
บาร์โค้ด)
ค่า ( 'พาสต้า - แองเจิ้ลแฮร์' -
'ตู้กับข้าว' -
48.38 -
59 -
'2023-08-05' -
8008123704782 -
สิ่งนี้ควรให้ตารางแก่เราดังนี้:
ตัวอย่างที่ 1: ลบแถวเดียว
การดำเนินการลบขั้นพื้นฐานที่สุดคือการลบแถวเดียวออกจากตาราง คุณสามารถใช้คอลัมน์ที่มีค่าเฉพาะซึ่งระบุแถวเป้าหมายได้
ตัวอย่างเช่น หากเราต้องการลบแถว “หมู – ไหล่” ซึ่งมี ID 9 เราสามารถใช้อนุประโยคได้ดังนี้:
ลบจาก
สินค้า
ที่ไหน
product_id= 9 -
การดำเนินการนี้ควรลบแถวที่มีหมายเลข ID 9 ออก เนื่องจากคอลัมน์ 'product_id' เป็นคีย์หลัก จึงควรมีเพียงแถวเดียวที่มีค่านั้น
ตัวอย่างที่ 2: ลบหลายแถว
หากต้องการลบหลายแถว เราสามารถกำหนดเงื่อนไขสำหรับแถวเป้าหมายโดยใช้ส่วนคำสั่ง WHERE เราสามารถใช้ตัวดำเนินการแบบมีเงื่อนไข เช่น IN, NOT IN, LIKE เป็นต้น
ตัวอย่างเช่น สมมติว่าเราต้องการลบแถวทั้งหมดของตู้กับข้าวและสร้างหมวดหมู่ เราสามารถใช้แบบสอบถามได้ดังนี้:
ลบจาก
สินค้า
ที่ไหน
หมวดหมู่ใน ( 'ผลิต' - 'เบเกอรี่' -
ซึ่งควรตรงกับค่า 'ผลิตผล' และ 'เบเกอรี่' ในคอลัมน์ 'หมวดหมู่' และนำแถวที่ตรงกับเงื่อนไขนั้นออก
บทสรุป
ในบทช่วยสอนนี้ เราได้เรียนรู้ทั้งหมดเกี่ยวกับคำสั่ง DELETE ซึ่งช่วยให้เราสามารถลบแถวตั้งแต่หนึ่งแถวขึ้นไปออกจากตารางฐานข้อมูลที่กำหนดได้