mysql查詢語句實驗

學習mysql查詢時,遇到=,like判斷char,varchar時使用錯誤,在此總結

dbq,實驗做的有點錯,直接總結
“=”適用於完全相等
like使用於模糊匹配
無論char還是varchar
模糊匹配的時候,要注意是否需要%
例:
‘%p’:查找末尾是否有p
‘p%’:查找頭是否有p
‘%p%’:查找是否含有字串p(所有位置)

生成測試數據表格
數據表格

Tchar Tvarchar
qwe asd
zxc cvb
rty dfg
123 456

判斷符號:=,判斷字符類型:char

完全相等,匹配到
在這裏插入圖片描述
不完全相等,未匹配到
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

判斷符號:=,判斷字符類型:varchar

完全相等,匹配到
在這裏插入圖片描述
不完全相等,未匹配到
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

判斷符號:like,判斷字符類型:char

完全相等,未匹配到
在這裏插入圖片描述
不完全相等,未匹配到
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

判斷符號:like,判斷字符類型:varchar

完全相等,匹配到
在這裏插入圖片描述
不完全相等

後有%
在這裏插入圖片描述
修改s爲d則匹配到
在這裏插入圖片描述
前有%
在這裏插入圖片描述
修改s爲a則匹配到
在這裏插入圖片描述
前後均有%則匹配到
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
ps:出現兩個結果的原因,%對應的字符數可以爲0,所以匹配到dfg

綜上:
‘=’僅適用完全相等的char和varchar類型字符,無模糊匹配
‘like’一般適用於varchar的模糊匹配(配合char無法使用),且模糊匹配的時候需要配合%使用,%處爲省略的字符,可以未0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章