一、1 create table name(name varchar(10));7 n8 n8 m! U+ s( s! P, e; b
对这个表,缺省情况下,下面两个查询的结果是一样的:0 x- D1 E/ k: [, b# W
代码如下:
' J$ R6 t. @" O+ `2 N) [select * from table name where name='clip';
b/ a [; y/ n# f4 Z9 W# L' Zselect * from table name where name='clip';8 z: |3 L5 `) R6 M
mysql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,binary标示敏感的属性.
& e" }+ J& i& L! f6 `, {5 x7 ?代码如下:) \) Q" x* ^$ I* k; \8 T( w
create table name(
5 c" {5 |3 h$ n( O7 }$ wname varchar(10) binary
7 t& g% b) I% C$ [8 I);
* C7 y3 w% z4 S' M. W2 在sql语句中实现 select * from table name where binary name='clip';
* i% y! e1 u9 `: v+ q# z9 U3 设置字符集:& x! d8 W F$ l K r
utf8_general_ci --不区分大小写
$ G1 `0 ^: y5 Lutf8_bin--区分大小写& ]$ q; K$ Z% ^4 n
二、 mysql在windows下是不区分大小写的,将script文件导入mysql后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改mysql的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。其实方法是一样的,相应的更改windows中mysql的设置就行了。
0 h6 O( s$ r4 _8 @4 K2 D具体操作:
7 o+ M" q6 i# ]在mysql的配置文件my.ini中增加一行:7 o/ J R) ^9 r6 q; Y4 v& N; Y
lower_case_table_names = 0
8 e4 x$ F% r" a3 E% v/ F其中 0:区分大小写,1:不区分大小写
* l# k) [8 U# o: _' y" zmysql在linux下数据库名、表名、列名、别名大小写规则是这样的:
0 H$ a3 y6 B/ r# V1、数据库名与表名是严格区分大小写的;1 b5 }" U) F1 O0 t& B. ~
2、表的别名是严格区分大小写的;
I6 j% R& M0 q2 w7 K3、列名与列的别名在所有的情况下均是忽略大小写的;
, t/ n% m+ J. K; R4 a9 Q: Y4、变量名也是严格区分大小写的; mysql在windows下都不区分大小写- C4 x# m2 y$ d" c2 o/ u
以上就是本文的全部内容了,希望大家能够喜欢。
7 t* p: A9 H0 C/ W7 b q' Y: G' v
) [0 m: g* r: p; h; B# G7 g更多网页制作信息请查看: 网页制作 |
|