MySQL是否區分大小寫

2021-09-01 19:07:19 字數 987 閱讀 7950

1、是否區分 庫名、表名、列名、別名 的大小寫?

[linux] mysql在linux下資料庫名、表名、列名、別名大小寫規則: 

1、資料庫名與表名是嚴格區分大小寫 (我在mysql5.5上發現不區分阿?預設安裝)

2、表的別名是嚴格區分大小寫 

3、列名與列的別名在所有的情況下均是忽略大小寫的 

4、變數名也是嚴格區分大小寫的 

改變表名的大小寫區分規則的方法,修改/etc/my.cnf,在[mysqld]後新增新增lower_case_table_names=1,重啟mysql服務,若設定成功,則不再區分表名的大小寫。 

[windows] mysql在windows下資料庫名、表名、列名、別名都不區分大小寫。 

如果想大小寫區分則在my.ini 裡面的mysqld部分 ,加入 lower_case_table_names=0 

注意:windows中即使改了這個設定,在查詢時還是不會區分大小寫。只是在匯入匯出時會對大小寫有區別。

2、查詢時where條件是否區分大小寫

取決於庫或表上的collate(核對、對比) 屬性的值。

例如我們使用utf8編碼,collate使用utf8_bin時區分大小寫,collate使用utf8_general_ci時不區分大小寫

建庫語句:

create database mydb default character set utf8 collate utf8_general_ci; (不區分大小寫)

建表語句:

create table test2(id int(10),name char(10))

engine = innodb

collate = 'utf8_bin'  (區分大小寫)

建表時指明了collate,則對對錶有效。建表時未指明collate,則使用庫上的collate屬性。

MYSQL 區分大小寫

1 linux下mysql安裝完後是預設 區分表名的大小寫,不區分列名的大小寫 2 用root帳號登入後,在 etc my.cnf 中的 mysqld 後新增新增lower case table names 1,重啟mysql服務,這時已設定成功 不區分表名的大小寫 lower case table...

mysql區分大小寫

兩種情況下會區分大小寫,1 建表時,表的編碼是utf8 bin utf8 general ci不會區分大小寫 注意是表編碼不是資料庫編碼。區分大小寫與資料庫編碼無關。2 建表後,可以通過 binary調整。語句如下 alter table wl testdx bin wlt testdx bin m...

mysql 區分大小寫 大小寫敏感 配置

linux下mysql預設區分大小寫 windows下mysql預設不區分大小寫 檢視是否區分大小寫 lower case table names引數詳解 lower case table names 0 其中 0 區分大小寫,1 不區分大小寫 mysql在linux下資料庫名 表名 列名 別名大小...