MySQL ڊيٽابيس غير نال ويل ويل سوالن کي ڪيئن سنڀاليندو آهي؟ MySQL نال چونڊ بيان نه آهي

MySQL ڊيٽابيسغير null قدر سوالن کي ڪيئن سنڀالجي؟هن MySQL null چونڊ بيان نه آهي

MySQL ۾ نيل هينڊلنگ

اسان اڳ ۾ ئي ڄاڻون ٿا ته MySQL استعمال ڪري ٿو SQL SELECT ڪمانڊ ۽ WHERE شق ڊيٽا ٽيبل ۾ ڊيٽا کي پڙهڻ لاء، پر جڏهن سوال جي شرط واري فيلڊ مهيا ڪئي وئي آهي NULL، ڪمانڊ صحيح ڪم نه ٿي سگھي.

هن صورتحال کي سنڀالڻ لاءِ، MySQL مهيا ڪري ٿو ٽي وڏا آپريٽرز:

  • IS NULL:هي آپريٽر صحيح موٽائي ٿو جڏهن ڪالمن جي قيمت NULL آهي.
  • خالي ناهي:آپريٽر صحيح موٽائي ٿو جڏهن ڪالمن جي قيمت NULL نه آهي.
  • <=>:  مقابلي وارو آپريٽر (برعڪس = آپريٽر) صحيح موٽائي ٿو جڏهن مقابلي ۾ ٻه قدر NULL آهن.

NULL تي مشروط مقابلي جا عمل خاص آھن.توھان استعمال نٿا ڪري سگھو = NULL يا ! =NULL ڪالمن ۾ NULL قدر ڳولي ٿو.

MySQL ۾، هڪ NULL قدر جو ڪنهن ٻئي قدر سان مقابلو ڪرڻ (جيتوڻيڪ NULL) هميشه غلط موٽائي ٿو، يعني NULL = NULL غلط موٽائي ٿو.

NULL کي MySQL ۾ IS NULL ۽ IS NOT 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 = آپريٽر ڪم نٿو ڪري:

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۽غلط ناهي، هيٺين مثال:

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

PHP اسڪرپٽ سان NULL قدرن کي سنڀالڻ

PHP اسڪرپٽ ۾، توهان استعمال ڪري سگهو ٿا if...else بيان کي پروسيس ڪرڻ لاءِ ته ڇا متغير خالي آهي ۽ هڪ لاڳاپيل شرطي بيان ٺاهي.

هيٺين مثال ۾ PHP سيٽ ڪري ٿو $chenweiliang_count متغير ۽ پوءِ استعمال ڪري ٿو ان متغير کي ڊيٽا ٽيبل ۾ chenweiliang_count فيلڊ سان مقابلو ڪرڻ لاءِ:

MySQL آرڊر بائي ٽيسٽ:

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

 

اميد چن ويلانگ بلاگ ( https://www.chenweiliang.com/ ) شيئر ڪيو ويو "ڪيئن ڪري ٿو MySQL ڊيٽابيس غير null قدر سوالن کي سنڀاليندو؟ توهان جي مدد ڪرڻ لاءِ MySQL null چونڊ بيان نه آهي.

هن آرٽيڪل جي لنڪ کي حصيداري ڪرڻ لاء ڀليڪار:https://www.chenweiliang.com/cwl-491.html

وڌيڪ لڪيل چالون کولڻ لاءِ🔑، اسان جي ٽيليگرام چينل ۾ شامل ٿيڻ لاءِ ڀليڪار!

شئير ڪريو ۽ پسند ڪريو جيڪڏھن توھان کي پسند اچي! توهان جا حصا ۽ پسند اسان جي مسلسل حوصلا آهن!

 

发表 评论

توهان جو اي ميل پتو شايع نه ڪيو ويندو. 必填 项 已 用 * ليبل

آرٽيڪل ڊاريڪٽري
جي ويڙھيء وانگي امروٽي