MySQL NULL 值處理案例圖文說明教程
發(fā)表時(shí)間:2023-09-07 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]MySQL NULL值處理我們已經(jīng)知道MySQL使用SQL SELECT命令和WHERE子句來讀取數(shù)據(jù)表中的數(shù)據(jù),但是當(dāng)提供的查詢條件字段為NULL時(shí),該命令可能就無法正常工作。為了處理這種情況時(shí),MySQL提供了三大運(yùn)算符:IS NULL:當(dāng)列的值為NULL,此運(yùn)算符返回true。IS NOT ...
MySQL NULL值處理
我們已經(jīng)知道MySQL使用SQL SELECT命令和WHERE子句來讀取數(shù)據(jù)表中的數(shù)據(jù),但是當(dāng)提供的查詢條件字段為NULL時(shí),該命令可能就無法正常工作。
為了處理這種情況時(shí),MySQL提供了三大運(yùn)算符:
IS NULL:當(dāng)列的值為NULL,此運(yùn)算符返回true。
IS NOT NULL:當(dāng)列的值不為NULL,運(yùn)算符返回true。
<=>: 比較操作符(不同于=運(yùn)算符),當(dāng)比較的的兩個(gè)值為NULL時(shí)返回真。
關(guān)于NULL的條件比較運(yùn)算是比較特殊的。你不能使用= NULL或!= NULL在列中查找NULL值。
在MySQL中,NULL值與任何其它值的比較(即使是NULL)永遠(yuǎn)返回false,即NULL = NULL返回false。
MySQL中處理NULL使用IS NULL和IS NOT NULL運(yùn)算符。
在命令提示符中使用NULL值
以下實(shí)例中假設(shè)數(shù)據(jù)庫指南中的表tcount_tbl包含兩列tutorial_author和tutorial_count,tutorial_count中設(shè)置插入NULL值。
嘗試以下實(shí)例:
root @ host#mysql -u root -p password;
輸入密碼:*******
mysql> use TUTORIALS;數(shù)據(jù)庫已更改mysql> create table tcount_tbl
- >(
- > tutorial_author varchar(40)NOT NULL,
- > tutorial_count INT
- >);
查詢OK,0行受影響(0.05秒)
mysql> INSERT INTO tcount_tbl
- >(tutorial_author,tutorial_count)值('mahran',20);
mysql> INSERT INTO tcount_tbl
- >(tutorial_author,tutorial_count)values('mahnaz',NULL);
mysql> INSERT INTO tcount_tbl
- >(tutorial_author,tutorial_count)值('Jen',NULL);
mysql> INSERT INTO tcount_tbl
- >(tutorial_author,tutorial_count)值('Gill',20);
mysql> select * from tcount_tbl;
+ ----------------- + ---------------- +
tutorial_author tutorial_count
+ ----------------- + ---------------- +
馬赫蘭 20
mahnaz NULL
仁 NULL
鰓 20
+ ----------------- + ---------------- +
4行(0.00秒)
MySQL的>
以下實(shí)例中你可以看到=和!=運(yùn)算符是不起作用的
mysql> SELECT * FROM tcount_tbl WHERE tutorial_count = NULL;
空置(0.00秒)
mysql> SELECT * FROM tcount_tbl WHERE tutorial_count!= NULL;
空置(0.01秒)
查詢數(shù)據(jù)表中tutorial_count列是否為NULL,必須使用IS NULL和IS NOT NULL,如下實(shí)例:
mysql> SELECT * FROM tcount_tbl
- > WHERE tutorial_count IS NULL;
+ ----------------- + ---------------- +
tutorial_author tutorial_count
+ ----------------- + ---------------- +
mahnaz NULL
仁 NULL
+ ----------------- + ---------------- +
2行(0.00秒)
mysql> select * from tcount_tbl
- > WHERE tutorial_count is NOT NULL;
+ ----------------- + ---------------- +
tutorial_author tutorial_count
+ ----------------- + ---------------- +
馬赫蘭 20
鰓 20
+ ----------------- + ---------------- +
2行(0.00秒)
使用PHP腳本處理NULL值
PHP腳本中你可以在if ... else語句來處理變量是否為空,并生成相應(yīng)的條件語句。
以下實(shí)例中PHP設(shè)置了$ tutorial_count變量,然后使用該變量與數(shù)據(jù)表中的tutorial_count字段進(jìn)行比較:
<?PHP
$ dbhost ='localhost:3036';
$ dbuser ='root';
$ dbpass ='rootpassword';
$ conn = mysql_connect($ dbhost,$ dbuser,$ dbpass);
if(!$ conn)
{
die('無法連接:'。mysql_error());
}
if(isset($ tutorial_count))
{
$ sql ='SELECT tutorial_author,tutorial_count
FROM tcount_tbl
WHERE tutorial_count = $ tutorial_count';
}
其他
{
$ sql ='SELECT tutorial_author,tutorial_count
FROM tcount_tbl
WHERE tutorial_count IS $ tutorial_count';
}
mysql_select_db( '教程');
$ retval = mysql_query($ sql,$ conn);
如果(!$ retval)
{
die('無法獲取數(shù)據(jù):'mysql_error());
}
while($ row = mysql_fetch_array($ retval,MYSQL_ASSOC))
{
echo“作者:{$ row ['tutorial_author']} <br>”。
“Count:{$ row ['tutorial_count']} <br>”。
“--------------------------------結(jié)果”;
}
echo“成功獲取數(shù)據(jù)\ n”;
mysql_close($康恩);
?>
【相關(guān)推薦】
1. 特別推薦:“php程序員工具箱”V0.1版本下載
2. 免費(fèi)mysql在線視頻教程
3. 數(shù)據(jù)庫設(shè)計(jì)那些事
以上就是MySQL NULL 值處理實(shí)例教程的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。