ຖານຂໍ້ມູນ MySQL ຈັດການກັບການສອບຖາມມູນຄ່າທີ່ບໍ່ແມ່ນ null ແນວໃດ? MySQL ບໍ່ແມ່ນຂໍ້ຄວາມເລືອກ null

ຖານຂໍ້ມູນ MySQLວິທີການຈັດການກັບການສອບຖາມມູນຄ່າທີ່ບໍ່ແມ່ນ null?MySQL ບໍ່ແມ່ນຂໍ້ຄວາມເລືອກ null

ການຈັດການ Null ໃນ MySQL

ພວກເຮົາຮູ້ແລ້ວວ່າ MySQL ໃຊ້ຄໍາສັ່ງ SQL SELECT ແລະ WHERE clause ເພື່ອອ່ານຂໍ້ມູນໃນຕາຕະລາງຂໍ້ມູນ, ແຕ່ເມື່ອເງື່ອນໄຂການສອບຖາມທີ່ສະຫນອງໃຫ້ແມ່ນ NULL, ຄໍາສັ່ງອາດຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງ.

ເພື່ອຈັດການກັບສະຖານະການນີ້, MySQL ໃຫ້ສາມຕົວປະຕິບັດການໃຫຍ່:

  • ແມ່ນ NULL:ຄຳສັ່ງນີ້ໃຫ້ຜົນເປັນຈິງເມື່ອຄ່າຖັນແມ່ນ NULL.
  • ບໍ່ແມ່ນ NULL:ໂຕປະຕິບັດການໃຫ້ຜົນເປັນຈິງເມື່ອຄ່າຖັນບໍ່ແມ່ນ NULL.
  • <=>:  ໂຕປະຕິບັດການປຽບທຽບ (ບໍ່ຄືກັບ = operator) ກັບຄືນຄວາມຈິງເມື່ອສອງຄ່າທີ່ປຽບທຽບກັນເປັນ NULL.

ການປະຕິບັດການປຽບທຽບເງື່ອນໄຂໃນ NULL ແມ່ນພິເສດ.ທ່ານບໍ່ສາມາດໃຊ້ = NULL ຫຼື ! =NULL ຊອກຫາຄ່າ NULL ໃນຖັນ.

ໃນ MySQL, ການປຽບທຽບຄ່າ NULL ກັບຄ່າອື່ນໆ (ແມ້ແຕ່ NULL) ສະເຫມີໃຫ້ຜົນເປັນ false, ຄື NULL = NULL ກັບຄືນ false.

NULL ຖືກຈັດການໃນ MySQL ໂດຍໃຊ້ IS NULL ແລະບໍ່ແມ່ນຕົວປະຕິບັດການ NULL.


ໃຊ້ຄ່າ NULL ໃນຄໍາສັ່ງຄໍາສັ່ງ

ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ຕາຕະລາງ chenweiliang_test_tbl ໃນຖານຂໍ້ມູນ chenweiliang ຖືກກໍານົດໃຫ້ມີສອງຖັນ, chenweiliang_author ແລະ chenweiliang_count, ແລະຄ່າ NULL ຖືກກໍານົດໃຫ້ໃສ່ໃນ chenweiliang_count.

ຕົວຢ່າງ

ລອງໃຊ້ຕົວຢ່າງຕໍ່ໄປນີ້:

ສ້າງຕາຕະລາງຂໍ້ມູນ chenweiliang_test_tbl

root @ host #mysql -u root -p password; 输入密码:*******
 mysql > 使用chenweiliang ;
数据库改变了mysql > create table chenweiliang_test_tbl 
 - > (
 - > chenweiliang_author varchar (40 )NOT NULL , - > chenweiliang_count INT 
 - > );
查询OK ,0 行受影响(0.05 秒)mysql >
 
 
INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values (' chenweiliang ' ,20 );
mysql > INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values (' 陈沩亮博客' ,NULL );
mysql > INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values ( ' Google ' ,NULL );
mysql > INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values (' FK ' ,20 );
 
mysql > SELECT * from chenweiliang_test_tbl ; + --------------- + -------------- + | chenweiliang_author | chenweiliang_count | + --------------- + -------------- + | chenweiliang | 20 | | 陈沩亮博客| NULL | | Google | NULL | | FK | 20 | + --------------- + -------------- +
 4 行中集合(0.01 秒) 

ໃນຕົວຢ່າງຕໍ່ໄປນີ້ທ່ານສາມາດເບິ່ງ = ແລະ ! The = operator ບໍ່ເຮັດວຽກ:

mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count = NULL ;
空集(0.00 秒)mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count != NULL ;
空集(0.01 秒)

ເພື່ອຊອກຫາວ່າຖັນ chenweiliang_test_tbl ໃນຕາຕະລາງຂໍ້ມູນແມ່ນ NULL, ທ່ານຕ້ອງໃຊ້IS NULLບໍ່ແມ່ນ NULL, ຕົວຢ່າງຕໍ່ໄປນີ້:

mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count IS NULL ; + --------------- + -------------- + | chenweiliang_author | chenweiliang_count | + --------------- + -------------- + | 陈沩亮博客| NULL | | Google | NULL | + --------------- + -------------- +
 2 行中的组(0.01 秒)的MySQL > SELECT * 从chenweiliang_test_tbl WHERE chenweiliang_count IS NOT 空值 
 
 ; + --------------- + -------------- + | chenweiliang_author | chenweiliang_count | + --------------- + -------------- + | chenweiliang | 20 | | FK | 20 | + --------------- + -------------- +
 2 行中的组(0.01 秒) 

ການຈັດການຄ່າ NULL ດ້ວຍ script PHP

ໃນສະຄິບ PHP, ທ່ານສາມາດນໍາໃຊ້ຄໍາຖະແຫຼງ if...else ເພື່ອປະມວນຜົນວ່າຕົວແປແມ່ນຫວ່າງເປົ່າແລະສ້າງຄໍາຖະແຫຼງການເງື່ອນໄຂທີ່ສອດຄ້ອງກັນ.

ໃນຕົວຢ່າງຕໍ່ໄປນີ້ PHP ກໍານົດຕົວແປ $chenweiliang_count ແລະຫຼັງຈາກນັ້ນໃຊ້ຕົວແປນັ້ນເພື່ອປຽບທຽບກັບພາກສະຫນາມ chenweiliang_count ໃນຕາຕະລາງຂໍ້ມູນ:

MySQL ORDER ໂດຍການທົດສອບ:

<?
php $ dbhost = ' localhost:3306 ' ; // mysql服务器主机地址

$ dbuser = ' root ' ; // mysql用户名
$ dbpass = ' 123456 ' ; // mysql用户名密码
$ conn = mysqli_connect ($ dbhost ,$ dbuser ,$ dbpass );
如果(!$ conn ){ die (' 连接失败:' 。mysqli_error ($ conn ));
} // 设置编码,防止中文乱码

mysqli_query ($ conn ,“ set names utf8 ” );
 
if (isset ($ chenweiliang_count )){ $ sql = “ SELECT chenweiliang_author,chenweiliang_count FROM chenweiliang_test_tbl WHER chenweiliang_count = $ chenweiliang_count ” ;
} else { $ sql = “ SELECT chenweiliang_author,chenweiliang_count FROM chenweiliang_test_tbl WHER chenweiliang_count IS NULL ” ;
} mysqli_select_db ($ conn ,'


 chenweiliang ' );
$ retval = mysqli_query ($ conn ,$ sql );
if (!$ retval ){ die (' 无法读取数据:' 。mysqli_error ($ conn ));
} echo ' <h2>陈沩亮博客IS NULL测试<h2> ' ;
echo ' <table border =“1”> <tr> <td>作者</ td> <td>登陆次数</ td> </ tr> ' ;

 $ retval ,MYSQL_ASSOC )){ echo “ <tr> ” 。
 “ <td> {$ row ['chenweiliang_author']} </ td> ” 。
 “ <td> {$ row ['chenweiliang_count']} </ td> ” 。
 “ </ tr> ” ;
} echo ' </ table> ' ;
mysqli_close ($ conn );
?>

 

ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "ຖານຂໍ້ມູນ MySQL ຈັດການກັບການສອບຖາມມູນຄ່າທີ່ບໍ່ແມ່ນ null ແນວໃດ? MySQL ບໍ່ແມ່ນຂໍ້ຄວາມເລືອກ null" ເພື່ອຊ່ວຍເຈົ້າ.

ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-491.html

ຍິນດີຕ້ອນຮັບສູ່ຊ່ອງ Telegram ຂອງບລັອກຂອງ Chen Weiliang ເພື່ອຮັບອັບເດດຫຼ້າສຸດ!

🔔 ເປັນຜູ້ທຳອິດທີ່ໄດ້ຮັບ "ຄູ່ມືການໃຊ້ເຄື່ອງມືການຕະຫຼາດເນື້ອຫາ ChatGPT AI" ທີ່ມີຄຸນຄ່າໃນລາຍການທາງເທິງ! 🌟
📚ຄູ່ມືນີ້ມີຄຸນຄ່າອັນມະຫາສານ, 🌟ນີ້ເປັນໂອກາດທີ່ຫາຍາກ, ຢ່າພາດມັນ! ⏰⌛💨
Share and like ຖ້າມັກ!
ການ​ແບ່ງ​ປັນ​ແລະ​ການ​ຖືກ​ໃຈ​ຂອງ​ທ່ານ​ແມ່ນ​ການ​ຊຸກ​ຍູ້​ຢ່າງ​ຕໍ່​ເນື່ອງ​ຂອງ​ພວກ​ເຮົາ​!

 

评论评论

ທີ່ຢູ່ອີເມວຂອງທ່ານຈະບໍ່ຖືກເຜີຍແຜ່. ທົ່ງນາທີ່ກໍານົດໄວ້ແມ່ນຖືກນໍາໃຊ້ * ປ້າຍ ກຳ ກັບ

ເລື່ອນໄປເທິງສຸດ