როგორ ამუშავებს MySQL მონაცემთა ბაზა არა null მნიშვნელობის შეკითხვებს? MySQL არ არის null არჩევის განცხადება

MySQL მონაცემთა ბაზაროგორ გავუმკლავდეთ არა null მნიშვნელობის შეკითხვებს?MySQL არ არის null არჩევის განცხადება

ნულის დამუშავება MySQL-ში

ჩვენ უკვე ვიცით, რომ MySQL იყენებს SQL SELECT ბრძანებას და WHERE პუნქტს მონაცემთა ცხრილის მონაცემების წასაკითხად, მაგრამ როდესაც მოწოდებული შეკითხვის ველი არის NULL, ბრძანება შეიძლება არ იმუშაოს სწორად.

ამ სიტუაციის მოსაგვარებლად, MySQL გთავაზობთ სამ მთავარ ოპერატორს:

  • NULL არის:ეს ოპერატორი აბრუნებს true-ს, როდესაც სვეტის მნიშვნელობა არის NULL.
  • არ არის NULL:ოპერატორი აბრუნებს true-ს, როდესაც სვეტის მნიშვნელობა არ არის NULL.
  • <=>:  შედარების ოპერატორი (განსხვავებით = ოპერატორისგან) უბრუნებს ნამდვილს, როდესაც შედარებული ორი მნიშვნელობა არის NULL.

NULL-ზე პირობითი შედარების ოპერაციები განსაკუთრებულია.თქვენ არ შეგიძლიათ გამოიყენოთ = NULL ან ! =NULL პოულობს NULL მნიშვნელობებს სვეტში.

MySQL-ში NULL მნიშვნელობის შედარება ნებისმიერ სხვა მნიშვნელობასთან (თუნდაც NULL) ყოველთვის აბრუნებს false-ს, ანუ NULL = NULL აბრუნებს false-ს.

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

შემდეგ მაგალითში ხედავთ = და ! = ოპერატორი არ მუშაობს:

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, თქვენ უნდა გამოიყენოთგაუქმებულია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 მნიშვნელობების დამუშავება PHP სკრიპტით

PHP სკრიპტში შეგიძლიათ გამოიყენოთ if...else განცხადება, რათა დაამუშაოთ ცარიელია თუ არა ცვლადი და შექმნათ შესაბამისი პირობითი განცხადება.

შემდეგ მაგალითში PHP აყენებს $chenweiliang_count ცვლადს და შემდეგ იყენებს ამ ცვლადს მონაცემთა ცხრილის chenweiliang_count ველთან შესადარებლად:

MySQL ORDER BY ტესტირება:

<?
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/ ) shared "როგორ ამუშავებს MySQL მონაცემთა ბაზა არანულო მნიშვნელობის შეკითხვებს? MySQL არ არის ნულოვანი არჩევის განცხადება", რომელიც დაგეხმარებათ.

კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-491.html

კეთილი იყოს თქვენი მობრძანება Chen Weiliang-ის ბლოგის ტელეგრამის არხზე, რომ მიიღოთ უახლესი განახლებები!

🔔 იყავით პირველი, ვინც მიიღეთ ღირებული "ChatGPT Content Marketing AI Tool Usage Guide" არხის ზედა დირექტორიაში! 🌟
📚 ეს სახელმძღვანელო შეიცავს უზარმაზარ ღირებულებას, 🌟ეს იშვიათი შესაძლებლობაა, არ გამოტოვოთ! ⏰⌛💨
გააზიარეთ და მოიწონეთ თუ მოგეწონათ!
თქვენი გაზიარება და მოწონებები ჩვენი უწყვეტი მოტივაციაა!

 

评论

თქვენი ელ.ფოსტის მისამართი არ გამოქვეყნდება. გამოყენებულია აუცილებელი ველები * ლეიბლი

გადახვევა ზევით