MySQL ਡੇਟਾਬੇਸ ਗੈਰ-ਨਲ ਵੈਲਯੂ ਸਵਾਲਾਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ? MySQL null ਸਿਲੈਕਟ ਸਟੇਟਮੈਂਟ ਨਹੀਂ ਹੈ

MySQL ਡਾਟਾਬੇਸਗੈਰ-ਨਲ ਮੁੱਲ ਸਵਾਲਾਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਣਾ ਹੈ?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_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 秒) 

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 ਡੇਟਾਬੇਸ ਗੈਰ-ਨਲ ਵੈਲਯੂ ਸਵਾਲਾਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ? ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ MySQL null ਸਿਲੈਕਟ ਸਟੇਟਮੈਂਟ" ਨਹੀਂ ਹੈ।

ਇਸ ਲੇਖ ਦਾ ਲਿੰਕ ਸਾਂਝਾ ਕਰਨ ਲਈ ਸੁਆਗਤ ਹੈ:https://www.chenweiliang.com/cwl-491.html

ਨਵੀਨਤਮ ਅਪਡੇਟਸ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਚੇਨ ਵੇਇਲਿਯਾਂਗ ਦੇ ਬਲੌਗ ਦੇ ਟੈਲੀਗ੍ਰਾਮ ਚੈਨਲ ਵਿੱਚ ਸੁਆਗਤ ਹੈ!

🔔 ਚੈਨਲ ਦੀ ਚੋਟੀ ਦੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਕੀਮਤੀ "ChatGPT ਸਮੱਗਰੀ ਮਾਰਕੀਟਿੰਗ AI ਟੂਲ ਵਰਤੋਂ ਗਾਈਡ" ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਪਹਿਲੇ ਬਣੋ! 🌟
📚 ਇਸ ਗਾਈਡ ਵਿੱਚ ਬਹੁਤ ਵੱਡਾ ਮੁੱਲ ਹੈ, 🌟ਇਹ ਇੱਕ ਦੁਰਲੱਭ ਮੌਕਾ ਹੈ, ਇਸ ਨੂੰ ਨਾ ਗੁਆਓ! ⏰⌛💨
ਜੇ ਚੰਗਾ ਲੱਗੇ ਤਾਂ ਸ਼ੇਅਰ ਅਤੇ ਲਾਈਕ ਕਰੋ!
ਤੁਹਾਡੀ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਪਸੰਦ ਸਾਡੀ ਨਿਰੰਤਰ ਪ੍ਰੇਰਣਾ ਹਨ!

 

ਇੱਕ ਟਿੱਪਣੀ ਪੋਸਟ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਤ ਨਹੀ ਕੀਤਾ ਜਾਵੇਗਾ. ਲੋੜੀਂਦੇ ਖੇਤਰ ਵਰਤੇ ਜਾ ਰਹੇ ਹਨ * ਲੇਬਲ

ਸਿਖਰ ਤੱਕ ਸਕ੍ਰੋਲ ਕਰੋ