mysql的默認(rèn)查詢是不區(qū)分大小寫(xiě)的;如果需要區(qū)分大小寫(xiě),可以利用Binary關(guān)鍵字在查詢時(shí)設(shè)置查詢語(yǔ)句區(qū)分大小寫(xiě),語(yǔ)法為“select * from 表名 WHERE binary 字段=字段值”。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
mysql查詢是否區(qū)分大小寫(xiě)
MySql默認(rèn)查詢是不區(qū)分大小寫(xiě)的,如果需要區(qū)分他,必須在建表的時(shí)候,Binary標(biāo)示敏感的屬性.
示例如下:
CREATE TABLE NAME(name VARCHAR(10));
對(duì)這個(gè)表,缺省情況下,下面兩個(gè)查詢的結(jié)果是一樣的:
SELECT * FROM TABLE NAME WHERE name='clip'; SELECT * FROM TABLE NAME WHERE name='Clip';
查詢語(yǔ)句上加binary
select * from users WHERE binary user_name = '張三' AND status != 0
擴(kuò)展知識(shí):
MySQL在windows下是不區(qū)分大小寫(xiě)的,將script文件導(dǎo)入MySQL后表名也會(huì)自動(dòng)轉(zhuǎn)化為小寫(xiě),結(jié)果再 想要將數(shù)據(jù)庫(kù)導(dǎo)出放到linux服務(wù)器中使用時(shí)就出錯(cuò)了。
因?yàn)樵趌inux下表名區(qū)分大小寫(xiě)而找不到表,查了很多都是說(shuō)在linux下更改MySQL的設(shè)置使其也不區(qū)分大小寫(xiě),但是有沒(méi)有辦法反過(guò)來(lái)讓windows 下大小寫(xiě)敏感呢。
其實(shí)方法是一樣的,相應(yīng)的更改windows中MySQL的設(shè)置就行了。
具體操作:
在MySQL的配置文件my.ini中增加一行:
lower_case_table_names = 0
其中 0:區(qū)分大小寫(xiě),1:不區(qū)分大小寫(xiě)
MySQL在Linux下數(shù)據(jù)庫(kù)名、表名、列名、別名大小寫(xiě)規(guī)則是這樣的:
1、數(shù)據(jù)庫(kù)名與表名是嚴(yán)格區(qū)分大小寫(xiě)的;
2、表的別名是嚴(yán)格區(qū)分大小寫(xiě)的;
3、列名與列的別名在所有的情況下均是忽略大小寫(xiě)的;
4、變量名也是嚴(yán)格區(qū)分大小寫(xiě)的; MySQL在Windows下都不區(qū)分大小寫(xiě)
推薦學(xué)習(xí):mysql視頻教程