好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mysql大小写

查看lower_case_table_names的值,0代表区分,1代表不区分

 

修改方法

1.用ROOT登录,修改/etc/my.cnf

2.在[mysqld]下加入一行:lower_case_table_names=1

3.重新启动数据库即可。

 

参数详解

其中0:区分大小写,1:不区分大小写

 

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

MySQL在Windows下都不区分大小写。

 

mysql默认是对字母的大小写不区分的

 

mysql> create table t1(

-> username varchar(10));

Query OK, 0 rows affected (0.09 sec)

 

mysql> insert into t1 values(‘you‘),(‘You‘),(‘YOU‘);

Query OK, 3 rows affected (0.05 sec)

Records: 3 Duplicates: 0 Warnings: 0

对这个表,缺省情况下,下面两个查询的结果是一样的:

 

   mysql >  select  *  from t1  where username  =  ‘you‘ ;
    +------+
    | username  |
    +------+
    | you  |
    | You  |
    | YOU  |
    +------+
    3 rows  in  set  ( 0.00 sec )                                                    
   mysql >  select  *  from t1  where username  =  ‘YOU‘ ;
    +------+
    | username  |
    +------+
    | you  |
    | You  |
    | YOU  |
    +------+
    3 rows  in  set  ( 0.00 sec )                                                    

如果想让MYSQL知道你输入的字母是大写还是小写的,修改表:

   mysql >  alter  table t1 change username username  varchar ( 10 ) binary ;
   Query OK ,  3 rows affected  ( 0.20 sec )
   Records :  3 Duplicates :  0 Warnings :  0                            
   mysql >  select  *  from t1  where username  =  ‘you‘ ;
    +------+
    | username  |
    +------+
    | you  |
    +------+
    1 row  in  set  ( 0.00 sec )                                          
   mysql >  select  *  from t1  where username  =  ‘YOU‘ ;
    +------+
    | username  |
    +------+
    | YOU  |
    +------+
    1 row  in  set  ( 0.00 sec )                                          

如果你只是想在SQL语句中实现的话:

   mysql >  select  *  from t1  where username  = binary  ‘YOU‘ ;
    +------+
    | username  |
    +------+
    | YOU  |
    +------+
    1 row  in  set  ( 0.02 sec )                                          
   mysql >  select  *  from t1  where username  = binary  ‘you‘ ;
    +------+
    | username  |
    +------+
    | you  |
    +------+
    1 row  in  set  ( 0.00 sec )                                          

 

 

 

mysql大小写

标签:ble   cdc   racket   eve   ace   binary   bec   缺省   var   

查看更多关于mysql大小写的详细内容...

  阅读:25次