学习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

完全相等,匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_测试数据


不完全相等,未匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_mysql 判断字符串长度_02


mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_03

mysql 判断字符串长度 mysql判断字符串是否相等_mysql_04

判断符号:=,判断字符类型:varchar

完全相等,匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_05


不完全相等,未匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_06


mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_07


mysql 判断字符串长度 mysql判断字符串是否相等_mysql_08

判断符号:like,判断字符类型:char

完全相等,未匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_mysql_09


不完全相等,未匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_mysql 判断字符串长度_10


mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_11


mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_12


mysql 判断字符串长度 mysql判断字符串是否相等_mysql_13


mysql 判断字符串长度 mysql判断字符串是否相等_mysql 判断字符串长度_14

判断符号:like,判断字符类型:varchar

完全相等,匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_mysql_15


不完全相等后有%

mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_16


修改s为d则匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_17


前有%

mysql 判断字符串长度 mysql判断字符串是否相等_mysql 判断字符串长度_18


修改s为a则匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_19


前后均有%则匹配到

mysql 判断字符串长度 mysql判断字符串是否相等_mysql 判断字符串长度_20


mysql 判断字符串长度 mysql判断字符串是否相等_mysql_21


mysql 判断字符串长度 mysql判断字符串是否相等_测试数据_22


ps:出现两个结果的原因,%对应的字符数可以为0,所以匹配到dfg

综上:
‘=’仅适用完全相等的char和varchar类型字符,无模糊匹配
‘like’一般适用于varchar的模糊匹配(配合char无法使用),且模糊匹配的时候需要配合%使用,%处为省略的字符,可以未0