一、1 create table name(name varchar(10)); G& l9 d) _9 E+ g w: A& t1 A
对这个表,缺省情况下,下面两个查询的结果是一样的:
! X9 p6 s1 p0 T代码如下:' O4 H' s5 W6 N( c X$ B* O0 D. o
select * from table name where name='clip';% X* P. C5 _" S3 V* W* g$ K, O
select * from table name where name='clip';
4 g9 Q' g: h# \mysql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,binary标示敏感的属性.: z" p$ ?4 t/ l7 a* h
代码如下:' Y3 N0 _% c2 m9 ^- Q
create table name(- U2 i* F2 O% ]7 U( a
name varchar(10) binary7 d# e/ k+ g# R' J$ q% p1 G
);
9 X4 i8 F4 E9 D2 `- x: @2 n2 在sql语句中实现 select * from table name where binary name='clip';
! ~' j5 \+ B+ C+ o5 t& p& i3 设置字符集:: g; T) K6 x. f( d9 h" ]
utf8_general_ci --不区分大小写1 M" v5 d! o" f
utf8_bin--区分大小写+ t$ ^: N$ n" w$ n- ]9 ~! b# A
二、 mysql在windows下是不区分大小写的,将script文件导入mysql后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改mysql的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。其实方法是一样的,相应的更改windows中mysql的设置就行了。
+ A2 @( E% W) l9 \3 s具体操作:* U# K8 ~6 b7 I& ]* `3 J9 I
在mysql的配置文件my.ini中增加一行:
" t1 X" X. `( @( Z: L6 blower_case_table_names = 0 E) S1 Z. f9 U, S/ @$ ?3 d/ Z
其中 0:区分大小写,1:不区分大小写4 P7 h! q3 }- S
mysql在linux下数据库名、表名、列名、别名大小写规则是这样的:
. C) ]/ ~. B1 _% x+ F: y2 [7 H1、数据库名与表名是严格区分大小写的;
. M3 V. Z% q( \( U2、表的别名是严格区分大小写的;
" ?0 ?* A3 n% _7 H1 @* y# |5 A, O3、列名与列的别名在所有的情况下均是忽略大小写的;
7 t5 q: i3 X2 g4、变量名也是严格区分大小写的; mysql在windows下都不区分大小写
+ _8 e/ u1 s4 [) w/ G& R7 [以上就是本文的全部内容了,希望大家能够喜欢。
8 m/ W* Q) E+ F! V0 V4 Y, Y) O0 r" n$ t! X' A1 w2 R# ?! r
更多网页制作信息请查看: 网页制作 |
|