Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ค้นหาจำนวนคอลัมน์ EMPTY หรือ NULL ในตาราง MySQL หรือไม่


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable781 ( ชื่อ varchar(100)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.66 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable781 (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงในค่า DemoTable781 ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> ค่า DemoTable781 (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable781 (null); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable781 (null); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable781 (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable781 (null); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) 

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable781;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+| ชื่อ |+-------+| || คริส || || NULL || NULL || || NULL |+-------+7 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อค้นหาจำนวนคอลัมน์ว่างหรือค่า NULL ในตาราง MySQL -

mysql> (เลือก SUM(CASE when Name IS NULL then 1 ELSE 0 END) AS NullCountAndEmptyCount from DemoTable781)UNION ALL(select SUM(CASE when Name='' THEN 1 ELSE 0 END) AS NullCountAndEmptyCount from DemoTable781);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------------------+| NullCountAndEmptyCount |+-----------------------+| 3 || 3 |+-----------------------+2 แถวในชุด (0.00 วินาที)