Com gestiona la base de dades MySQL les consultes de valor no nul? MySQL no és una instrucció de selecció nul·la

Base de dades MySQLCom gestionar les consultes de valor no nul?MySQL no és nul·la sentència select

Maneig nul a MySQL

Ja sabem que MySQL utilitza l'ordre SQL SELECT i la clàusula WHERE per llegir les dades de la taula de dades, però quan el camp de condició de consulta proporcionat és NULL, és possible que l'ordre no funcioni correctament.

Per gestionar aquesta situació, MySQL proporciona tres operadors principals:

  • ÉS NULL:Aquest operador retorna true quan el valor de la columna és NULL.
  • NO ÉS NUL:L'operador retorna true quan el valor de la columna no és NULL.
  • <=>:  L'operador de comparació (a diferència de l'operador =) retorna true quan els dos valors comparats són NULL.

Les operacions de comparació condicionals a NULL són especials.No podeu utilitzar = NULL o ! =NULL troba valors NULL a la columna.

A MySQL, la comparació d'un valor NULL amb qualsevol altre valor (fins i tot NULL) sempre retorna fals, és a dir, NULL = NULL retorna fals.

NULL es gestiona a MySQL mitjançant els operadors IS NULL i IS NOT NULL.


Utilitzeu el valor NULL a l'indicador d'ordres

A l'exemple següent, la taula chenweiliang_test_tbl de la base de dades chenweiliang s'estableix per contenir dues columnes, chenweiliang_author i chenweiliang_count, i els valors NULL s'estableixen per inserir-se a chenweiliang_count.

Instància

Proveu els exemples següents:

Crea una taula de dades 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 秒) 

A l'exemple següent podeu veure = i ! L'operador = no funciona:

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

Per saber si la columna chenweiliang_test_tbl de la taula de dades és NULL, heu d'utilitzarÉS NULLNO ÉS NULL, el següent exemple:

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 秒) 

Maneig de valors NULL amb script PHP

A l'script PHP, podeu utilitzar la instrucció if...else per processar si la variable està buida i generar una sentència condicional corresponent.

A l'exemple següent, PHP estableix la variable $chenweiliang_count i després utilitza aquesta variable per comparar-la amb el camp chenweiliang_count de la taula de dades:

MySQL ORDENA PER prova:

<?
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 );
?>

 

Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartit "Com gestiona la base de dades MySQL les consultes de valor no nul? MySQL no és una declaració de selecció nul·la" per ajudar-vos.

Benvingut a compartir l'enllaç d'aquest article:https://www.chenweiliang.com/cwl-491.html

Benvingut al canal de Telegram del bloc de Chen Weiliang per rebre les últimes actualitzacions!

🔔 Sigues el primer a obtenir la valuosa "Guia d'ús de l'eina de màrqueting de continguts de ChatGPT" al directori principal del canal! 🌟
📚 Aquesta guia té un gran valor, 🌟Aquesta és una oportunitat rara, no la perdis! ⏰⌛💨
Comparteix i m'agrada si t'agrada!
Els vostres likes i compartir són la nostra motivació contínua!

 

发表 评论

La vostra adreça de correu electrònic no es publicarà. S'utilitzen els camps obligatoris * 标注

desplaçar-se a dalt