MySQL verilənlər bazası qeyri-null dəyər sorğularını necə idarə edir? MySQL null seçim ifadəsi deyil

MySQL verilənlər bazasıQeyri-null dəyər sorğularını necə idarə etmək olar?MySQL null seçim ifadəsi deyil

MySQL-də null işləmə

Biz artıq bilirik ki, MySQL verilənlər cədvəlindəki məlumatları oxumaq üçün SQL SELECT əmrindən və WHERE bəndindən istifadə edir, lakin təqdim edilən sorğu şərti sahəsi NULL olduqda, komanda düzgün işləməyə bilər.

Bu vəziyyəti idarə etmək üçün MySQL üç əsas operatoru təmin edir:

  • NULL IS:Sütun dəyəri NULL olduqda bu operator doğru qaytarır.
  • NULL DEYİL:Sütun dəyəri NULL olmadıqda operator doğru qaytarır.
  • <=>:  Müqayisə operatoru (= operatorundan fərqli olaraq) müqayisə edilən iki dəyər NULL olduqda doğru qaytarır.

NULL-də şərti müqayisə əməliyyatları xüsusidir.Siz = NULL və ya istifadə edə bilməzsiniz! =NULL sütunda NULL dəyərləri tapır.

MySQL-də NULL dəyərinin hər hansı digər dəyərlə (hətta NULL) müqayisəsi həmişə yalanı qaytarır, yəni NULL = NULL yalanı qaytarır.

NULL MySQL-də IS NULL və IS NULL operatorlarından istifadə etməklə idarə olunur.


Komanda sorğusunda NULL dəyərindən istifadə edin

Aşağıdakı misalda, chenweiliang verilənlər bazasındakı chenweiliang_test_tbl cədvəli iki sütundan ibarət olacaq, chenweiliang_author və chenweiliang_count və NULL dəyərlər chenweiliang_count-a daxil ediləcək.

Nümunə

Aşağıdakı nümunələri sınayın:

Məlumat cədvəli yaradın 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şağıdakı nümunədə = və ! = operatoru işləmir:

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

Məlumat cədvəlindəki chenweiliang_test_tbl sütununun NULL olub olmadığını öyrənmək üçün istifadə etməlisinizNULLNƏTİCƏ DEYİL, aşağıdakı nümunə:

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 skripti ilə NULL dəyərlərinin idarə edilməsi

PHP skriptində siz dəyişənin boş olub-olmadığını emal etmək və müvafiq şərti ifadə yaratmaq üçün if...else ifadəsindən istifadə edə bilərsiniz.

Aşağıdakı misalda PHP $chenweiliang_count dəyişənini təyin edir və sonra verilənlər cədvəlindəki chenweiliang_count sahəsi ilə müqayisə etmək üçün həmin dəyişəndən istifadə edir:

MySQL SİPARİŞİ Sınaqla:

<?
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 Blogu ( https://www.chenweiliang.com/ ) paylaşılan "MySQL verilənlər bazası qeyri-null dəyər sorğularını necə idarə edir? MySQL sizə kömək etmək üçün boş seçim ifadəsi deyil".

Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-491.html

Ən son yenilikləri əldə etmək üçün Chen Weiliang bloqunun Telegram kanalına xoş gəlmisiniz!

🔔 Kanalın ən yaxşı kataloqunda dəyərli "ChatGPT Məzmun Marketinq AI Aləti İstifadə Bələdçisi"ni ilk əldə edən siz olun! 🌟
📚 Bu təlimatda böyük dəyər var, 🌟Bu nadir fürsətdir, qaçırmayın! ⏰⌛💨
Bəyəndinizsə paylaşın və bəyənin!
Paylaşımlarınız və bəyənmələriniz davamlı motivasiyamızdır!

 

发表 评论

Elektron poçtunuz dərc olunmayacaq. Zəruri sahələrdən istifadə olunur * Etiket

yuxarıya sürüşdürün