mysql DELIMITER // mysql CREATE PROCEDURE TestIfElse - ( - p_val INT - ) - BEGIN - IF (p_val = 1) THEN - SELECT '1' AS A; - ELSEIF (p_val = 2) THEN - SELECT '2' AS A; - ELSE - SELECT 'other' AS A; - END IF; - END// Query OK, 0 rows affected (0.05 sec) 上面是一個(gè)最簡(jiǎn)單的 mysql 的 IF / ELSEIF 的例子了...
成都創(chuàng)新互聯(lián)公司專注于浦江企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站制作。浦江網(wǎng)站建設(shè)公司,為浦江等地區(qū)提供建站服務(wù)。全流程按需定制開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
1、mysql中創(chuàng)建測(cè)試表,create table test_user(id int, name varchar(20));
2、插入測(cè)試數(shù)據(jù),
insert into test_user values(1001,'jack');
insert into test_user values(1002,'lucy');
insert into test_user values(1003,'mike');
insert into test_user values(1004,'john');
insert into test_user values(1005,'may');
3、查看表中所有數(shù)據(jù),select * from test_user
4、編寫sql,查詢name列是否有jack名,
select * from test_user t where name = 'jack'
思路如下,分別將A與B,A與C進(jìn)行關(guān)聯(lián),然后使用 union 進(jìn)行連接,查詢時(shí),直接使用這個(gè)查詢就可以了(可以建個(gè)視圖,查詢起來(lái)比較方便 ),如下:
select?d.id,?d.name
from?(select?A.id,?B.name
from?A,?B
where?A.id?=?B.id
and?A.type?=?'教師'
union
select?A.id,?C.name
from?A,?C
where?A.id?=?C.id
and?A.type?=?'教室')?d
where?d.id?=?123
有問(wèn)題請(qǐng)追問(wèn),希望可以幫到你
1、等于運(yùn)算符:=
“=”是用來(lái)判斷數(shù)字、字符串和表達(dá)式是否相等,如果相等,返回值為,否則返回值為0。
如:select 5=6,'9'=9,668=668,'luo'='luo',(2*3)=(4*5),NULL=NULL,0=NULL;
結(jié)論】
1)若有一個(gè)兩個(gè)操作數(shù)為NULL,比較運(yùn)算的結(jié)果就是NULL;
2)同一個(gè)比較運(yùn)算符中兩個(gè)操作數(shù)都是字符串,則按照字符串進(jìn)行比較;
3)若同一個(gè)比較運(yùn)算符中兩個(gè)操作數(shù)都是數(shù)值,則按照數(shù)值進(jìn)行比較;
4)若是一個(gè)數(shù)值和一個(gè)字符串進(jìn)行比較,則MySQL自動(dòng)將字符串轉(zhuǎn)化為數(shù)值;
5)不管何種情況,“=”比較返回的確實(shí)只有1、0與NULL三類值。
2、安全等于運(yùn)算符:=
“=”運(yùn)算符在具備“=”所有功能的基礎(chǔ)上增加了判斷NULL值的功能。
【結(jié)論】
1)“=”運(yùn)算符確實(shí)具備“=”所有功能,返回值也是1、0與NULL;
2)當(dāng)兩個(gè)操作數(shù)均為NULL時(shí),“=”運(yùn)算符返回的結(jié)果為1,而不是NULL;
3)當(dāng)只有一個(gè)操作數(shù)為NULL時(shí),“=”運(yùn)算符返回的結(jié)果也不是NULL而是0。
3、不等于運(yùn)算符:或!=
1)“”或“!=”運(yùn)算符也是可以用于數(shù)字、字符串與表達(dá)式的判斷;
2)其比較邏輯與“=”相反,但返回值也是1、0與NULL。
4、小于或等于運(yùn)算符:=
1)“=”運(yùn)算符也是可以用于數(shù)字、字符串與表達(dá)式的判斷;
2)其邏輯:判斷左邊的操作數(shù)是否小于右邊的操作數(shù),如果是則返回1,否則返回0;
3)針對(duì)含有NULL的操作數(shù)則好不猶豫地返回NULL。
5、小于運(yùn)算符:
6、大于或等于運(yùn)算符:=
7、大于運(yùn)算符:
這三類運(yùn)算符與上面的“=”邏輯一致,大家可以自己去分析其過(guò)程并得到結(jié)論。
8、IS NULL(ISNULL)、IS NOT NULL運(yùn)算符
1)這類比較運(yùn)算符是用來(lái)判斷數(shù)字、字符、表達(dá)式結(jié)果是否為NULL;
2)返回的結(jié)果值有1、0,沒(méi)有NULL;
3)IS NULL(ISNULL)與IS NOT NULL返回的值相反。
9、BETWEEN AND運(yùn)算符
其語(yǔ)法格式為“expr BETWEEN min AND max”。
1)這類比較運(yùn)算符是用來(lái)判斷數(shù)字、字符、表達(dá)式結(jié)果是否為NULL;
2)返回的結(jié)果值有1、0與NULL;
3)等同于:min = expr =max,即包含上下限的值。
10、IN與NOT IN運(yùn)算符
1)這類比較運(yùn)算符是用來(lái)判斷數(shù)字、字符、表達(dá)式結(jié)果是否為NULL;
2)返回的結(jié)果值有1、0與NULL;
3)IN用來(lái)判斷操作數(shù)是否為IN列表中的一個(gè)值,如果是則返回1,否則返回0,對(duì)于NULL則返回NULL。NOT IN則于IN相反。
11、LIKE運(yùn)算符
其語(yǔ)法格式為“expr LIKE 匹配條件”。
1)LIKE運(yùn)算符用于匹配字符串;
2)返回的結(jié)果值有1、0與NULL;
3)包含兩種通配符?!?”匹配任何字符,甚至包括零字符;“_”只能匹配一個(gè)字符。
12、REGEXP運(yùn)算符
REGEXP是LIKE的逆運(yùn)算。語(yǔ)法格式類似:“expr REGEXP 匹配條件”。只是其包含的通配符更多。
1)^:匹配以該字符后面的字符開(kāi)頭的字符串;
2)$:匹配以該字符后面的字符結(jié)尾的字符串;
3).:匹配任何一個(gè)單字符;
4)[···]:匹配方括號(hào)內(nèi)的任何字符;
5)*:匹配零個(gè)或多個(gè)在它前面的字符。
總結(jié):
1、MySQL支持的比較運(yùn)算符有12類;
2、一個(gè)比較運(yùn)算符的結(jié)果總是1、0或NULL;
3、只有“=”才支持NULL的比較,其他對(duì)有NULL操作數(shù)時(shí)返回的結(jié)果就是NULL。
MySql中判斷null可以用 is null 和 =
1、is null :僅僅可以判斷null值,可讀性較高,建議使用。
select * from base_user where username is null
2、=? ? :既可以判斷null值,也可以判斷普通的數(shù)值,可讀性較低。
select * from base_user where?username?= null
標(biāo)題名稱:mysql中怎么使用判斷 mysql 判斷數(shù)據(jù)是否存在
URL網(wǎng)址:http://jinyejixie.com/article26/doscjjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號(hào)、營(yíng)銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)