ใช้คำสั่ง delete เพื่อลบแถวว่างใน MySQL
ไวยากรณ์มีดังนี้
ลบออกจาก yourTableName โดยที่ yourColumnName=' ' OR yourColumnName IS NULL;
ไวยากรณ์ด้านบนจะลบแถวว่างและแถว NULL
เพื่อให้เข้าใจแนวคิด ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง deleteRowDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.57 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert
แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า deleteRowDemo(StudentName) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า deleteRowDemo (StudentName) (''); Query OK, 1 แถวได้รับผลกระทบ (0.18) วินาที)mysql> แทรกลงในค่า deleteRowDemo(StudentName) (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า deleteRowDemo (ชื่อนักเรียน) (NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า deleteRowDemo(StudentName) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า deleteRowDemo (StudentName) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> ใส่ค่า deleteRowDemo(StudentName)('');Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน deleteRowDemo(StudentName) values('David');Query OK, 1 แถวได้รับผลกระทบ (0.35 วินาที)ก่อน>แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
แบบสอบถามมีดังนี้
mysql> เลือก *จาก deleteRowDemo;ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+-------------+| รหัส | ชื่อนักเรียน |+---+-------------+| 1 | จอห์น || 2 | || 3 | || 4 | NULL || 5 | แครอล || 6 | บ๊อบ || 7 | || 8 | David |+----+-------------+8 แถวในชุด (0.00 วินาที)
นี่คือแบบสอบถามเพื่อลบแถวว่างเช่นเดียวกับ NULL
mysql> ลบจาก deleteRowDemo โดยที่ StudentName='' OR StudentName IS NULL; Query OK, 4 แถวได้รับผลกระทบ (0.18 วินาที)
ตอนนี้ให้เราตรวจสอบระเบียนของตารางอีกครั้ง
แบบสอบถามมีดังนี้
mysql> เลือก *จาก deleteRowDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+-------------+| รหัส | ชื่อนักเรียน |+---+-------------+| 1 | จอห์น || 5 | แครอล || 6 | บ๊อบ || 8 | David |+----+-------------+4 แถวในชุด (0.00 วินาที)