Ta yaya MySQL database ke sarrafa tambayoyin ƙima marasa mara amfani? MySQL ba bayanin zaɓi ba ne

MySQL databaseYadda ake kula da tambayoyin ƙima maras tushe?MySQL ba zaɓaɓɓen bayani ba ne

Null handling a cikin MySQL

Mun riga mun san cewa MySQL yana amfani da umarnin SQL SELECT da jumlar INA don karanta bayanan da ke cikin tebur ɗin bayanai, amma idan filin yanayin tambaya da aka bayar ya zama NULL, umarnin ba zai yi aiki da kyau ba.

Don magance wannan yanayin, MySQL yana ba da manyan masu aiki guda uku:

  • YA KASANCE:Wannan ma'aikacin yana dawowa da gaskiya lokacin da ƙimar ginshiƙi ta NULL.
  • BA KASANCE BA:Mai aiki yana dawowa da gaskiya lokacin da ƙimar ginshiƙi ba ta NULL.
  • <=>:  Mai aiki da kwatancen (ba kamar = mai aiki ba) yana dawowa gaskiya lokacin da aka kwatanta ƙimar biyu NULL.

Ayyukan kwatanta yanayi akan NULL na musamman ne.Ba za ku iya amfani da = NULL ko ! = NULL yana samun NULL dabi'u a cikin ginshiƙi.

A cikin MySQL, kwatancen ƙimar NULL tare da kowace ƙima (ko da NULL) koyaushe yana dawo da ƙarya, watau NULL = NULL yana dawo da ƙarya.

Ana sarrafa NULL a cikin MySQL ta amfani da IS NULL kuma BA NULL masu aiki ba.


Yi amfani da ƙimar NULL a cikin umarni da sauri

A cikin misali mai zuwa, tebur chenweiliang_test_tbl a cikin database chenweiliang an saita shi ya ƙunshi ginshiƙai biyu, chenweiliang_author da chenweiliang_count, da NULL dabi'u an saita da za a saka a chenweiliang_count.

misali

Gwada misalai masu zuwa:

Ƙirƙiri teburin bayanai 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 cikin misali mai zuwa za ku iya gani = da ! Mai aiki = ba ya aiki:

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

Don gano ko ginshiƙin chenweiliang_test_tbl a cikin tebur ɗin bayanai NULL ne, dole ne ku yi amfani da shi.IS NULLkumaBA BA NULL, misali mai zuwa:

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

Gudanar da ƙimar NULL tare da rubutun PHP

A cikin rubutun PHP, zaku iya amfani da idan...wani bayanin don aiwatar da ko canjin ba komai bane kuma ya haifar da madaidaicin bayanin sharadi.

A cikin misali mai zuwa PHP yana saita madaidaicin $chenweiliang_count sannan yayi amfani da wannan m don kwatantawa da filin chenweiliang_count a cikin tebur ɗin bayanai:

MySQL ORDER TA gwaji:

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

 

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Ta yaya MySQL database ke kula da tambayoyin ƙima marasa mara amfani? MySQL ba bayanin zaɓi ba ne" don taimaka muku.

Barka da zuwa raba hanyar haɗin wannan labarin:https://www.chenweiliang.com/cwl-491.html

Barka da zuwa tashar Telegram na Chen Weiliang's blog don samun sabbin abubuwa!

🔔 Kasance na farko don samun "ChatGPT Content Marketing AI Tool Guideing Guide" a cikin babban jagorar tashar! 🌟
📚 Wannan jagorar ya ƙunshi ƙima mai yawa, 🌟Wannan dama ce da ba kasafai ba, kar a rasa ta! ⏰⌛💨
Share da like idan kuna so!
Rarraba ku da abubuwan so sune ci gaba da ƙarfafa mu!

 

comments

Adireshin imel ba za a buga ba. Ana amfani da filayen da ake buƙata * Alamar

gungura zuwa sama