一、1 create table name(name varchar(10));
& _1 O& k) {- I/ u对这个表,缺省情况下,下面两个查询的结果是一样的:
' y$ t2 @9 c: G9 \代码如下:
* y7 D- m. o& c" r) y! sselect * from table name where name='clip';
~& Y+ `$ o& f1 k9 A5 Xselect * from table name where name='clip';
+ i6 k4 Y6 m0 K: R0 T9 M" wmysql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,binary标示敏感的属性.
+ v0 } a" y, X代码如下:0 w* C2 V# n3 c5 H
create table name(3 r4 P# W% Q8 ?) m# L2 q
name varchar(10) binary. N) B1 S( ]) s
);: f1 w1 d' b A9 [ \ y
2 在sql语句中实现 select * from table name where binary name='clip';
$ f3 S3 S9 }0 [0 j7 k3 设置字符集:
y$ j& q, `- b: e4 N4 Xutf8_general_ci --不区分大小写% d$ n# L: I/ j5 X: c6 d
utf8_bin--区分大小写! J" A1 D r# k4 _! q6 M
二、 mysql在windows下是不区分大小写的,将script文件导入mysql后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改mysql的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。其实方法是一样的,相应的更改windows中mysql的设置就行了。
0 ?, B% {+ N/ G* `5 T具体操作:
- Z9 u' B8 j8 S8 Y- c/ q" I. u; L' ?在mysql的配置文件my.ini中增加一行:* f! R: n1 Q' t/ f |" q4 h
lower_case_table_names = 0
! j! ^: V4 x I- t0 |) l E其中 0:区分大小写,1:不区分大小写: j0 l) h' S% k2 M
mysql在linux下数据库名、表名、列名、别名大小写规则是这样的:6 ?7 L3 \8 E! M) `8 }# V
1、数据库名与表名是严格区分大小写的;. K# R# z/ v( W& s7 ?
2、表的别名是严格区分大小写的;$ [: N+ Y/ ?8 F F% f1 ]4 P
3、列名与列的别名在所有的情况下均是忽略大小写的;, B+ p. }2 I7 d# [ z
4、变量名也是严格区分大小写的; mysql在windows下都不区分大小写
4 x' c% r3 p1 n+ b以上就是本文的全部内容了,希望大家能够喜欢。. l1 c% X" k) M5 Z+ K+ R% V2 r
# l0 S, \9 q2 X# A) u
更多网页制作信息请查看: 网页制作 |
|