MySQL的大小寫區分及亂碼解決方案

2021-08-30 14:10:30 字數 1027 閱讀 5631

一. 資料庫本身的大小寫區分規則

[ linux ]

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

1、資料庫名與表名是嚴格區分大小寫

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

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

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

注意:a、linux下mysql安裝完後預設:區分表名的大小寫,不區分列名的大小寫

b、改變表名的大小寫區分規則的方法:用root帳號登入,在/etc/my.cnf 中的[mysqld]後新增新增lower_case_table_names=1,重啟mysql服務,若設定成功,則不再區分表名的大小寫。具體如下:

lower_case_table_names引數詳解:

lower_case_table_names = 0

其中 0:區分大小寫,1:不區分大小寫

[ windows ]

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

二. 查詢時字段值的大小寫區分問題

[ linux/windows ]

預設安裝和設定下,mysql對待查詢欄位不區分大小寫。如果想在查詢時區分字段值的大小寫,則:字段值需要設定binary屬性,設定的方法有多種:

1、建立時設定: 

create table t( 

a varchar(10) binary 

);2、使用alter修改: 

alter table `tablename` modify column `cloname` varchar(45) binary;

3、mysql table editor中直接勾選binary項。

三.亂碼問題的解決方案

在[mysqld] 下增加下句:

default-character-set=utf8

MYSQL 區分大小寫及亂碼解決

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

MYSQL 區分大小寫及亂碼解決

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

MYSQL 區分大小寫

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