MySQL不區(qū)分大小寫配置方法
1.表內(nèi)數(shù)據(jù)條件查詢不區(qū)分大小寫
MySQL 表內(nèi)數(shù)據(jù)條件查詢不區(qū)分大小寫是因為排序規(guī)則的問題.
在MySQL中,InnoDB存儲引擎默認(rèn)的字符集是utf8,utf8mb4等,這些字符集再存儲數(shù)據(jù)時沒有指定排序規(guī)則的話,會默認(rèn)使用 utf8_general_ci或utf8mb4_general_ci 作為表的排序規(guī)則,那么該表內(nèi)的數(shù)據(jù)講不區(qū)分大小寫,這兩種排序規(guī)則都是case-insensitive(不區(qū)分大小寫)的.
改為 utf8_bin 或者 utf8mb4_bin 是區(qū)分大小寫的
2. 表名字段名不區(qū)分大小寫
在MySQL中,表名和字段名默認(rèn)是不區(qū)分大小寫的。這意味著在查詢和引用表和字段時,大小寫不會影響執(zhí)行結(jié)果。
例如,如果您創(chuàng)建了一個名為"mytable"的表,可以使用"SELECT * FROM mytable"或"SELECT * FROM MyTable"或"SELECT * FROM MYTABLE"等語句來查詢該表。MySQL將不區(qū)分這些語句中的大小寫。
如果您希望在MySQL中配置表名和字段名區(qū)分大小寫,可以使用以下步驟:
打開MySQL配置文件(通常是my.cnf或my.ini)。
在[mysqld]部分中添加以下行:
sql
lower_case_table_names=0
lower_case_table_names = 0:表名區(qū)分大小寫,且按照用戶指定存儲。
lower_case_table_names = 1:表不區(qū)分大小寫,使用小寫存儲。
lower_case_table_names = 2:表不區(qū)分大小寫,按照用戶指定存儲。
在不同系統(tǒng)上運行,會有不同的默認(rèn)值
需要注意的是 在 Linux 系統(tǒng)中不支持設(shè)置為 2 當(dāng)用戶設(shè)置為 2 時,將被強制改為 0。
保存并關(guān)閉配置文件。
重啟MySQL服務(wù)器。
這將使MySQL區(qū)分表名和字段名的大小寫。例如,如果您創(chuàng)建了一個名為"MyTable"的表,則只能使用"SELECT * FROM MyTable"來查詢該表,而使用其他大小寫形式的語句將無法執(zhí)行。
以上就是MySQL不區(qū)分大小寫配置方法的詳細(xì)內(nèi)容,更多關(guān)于MySQL不區(qū)分大小寫配置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
如何利用MySQL的binlog恢復(fù)誤刪數(shù)據(jù)庫詳解
MySQL一旦誤刪數(shù)據(jù)庫之后恢復(fù)數(shù)據(jù)很麻煩,這里記錄一下艱辛的恢復(fù)過程,這篇文章主要給大家介紹了關(guān)于如何利用MySQL的binlog恢復(fù)誤刪數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2021-09-09一文搞懂MySQL XA如何實現(xiàn)分布式事務(wù)
MySQL如何實現(xiàn)多個MySQL數(shù)據(jù)庫更新的一致性呢?那就是MySQL XA,本文就來介紹一下MySQL XA如何實現(xiàn)分布式事務(wù),具有一定的參考價值,感興趣的可以了解一下2021-11-11Centos7 安裝mysql 8.0.13(rpm)的教程詳解
這篇文章主要介紹了Centos7 安裝mysql 8.0.13(rpm)的教程詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11[MySQL binlog]mysql如何徹底解析Mixed日志格式的binlog
這篇文章主要介紹了mysql徹底解析Mixed日志格式的binlog,需要的朋友可以參考下2014-02-02為什么說MySQL單表數(shù)據(jù)不要超過500萬行
在本篇文章里小編給大家整理了一篇關(guān)于為什么說MySQL單表數(shù)據(jù)不要超過500萬行的相關(guān)內(nèi)容,有興趣的朋友們閱讀下吧。2019-06-06mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案
這篇文章主要介紹了mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案,需要的朋友可以參考下2021-05-05