一、1 create table name(name varchar(10));
' Y# r+ y3 ?* `. ]+ q( t3 ?$ O对这个表,缺省情况下,下面两个查询的结果是一样的:0 k- d5 O8 F- T; Z
代码如下:3 u2 K/ C: Q0 R. R5 ~
select * from table name where name='clip';2 y1 P4 Z0 _. C2 k" w d
select * from table name where name='clip';% N/ Q5 E- c: I
mysql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,binary标示敏感的属性.4 Z3 f$ @6 K1 z5 F
代码如下:
, Q; D V7 w6 X* x& hcreate table name(# L% @$ I0 w. `; t9 m7 n
name varchar(10) binary
# P9 a$ o$ O( V# t0 h) p);, ~2 s2 v3 G9 ~3 I, q2 N ^
2 在sql语句中实现 select * from table name where binary name='clip';
7 t5 i) a; G! r7 R: z3 设置字符集:
! i1 ^) Q; J* u$ w h* Xutf8_general_ci --不区分大小写+ v O) Y! p8 G, {8 D, b* I
utf8_bin--区分大小写
) b* ?$ c q' u- @0 t二、 mysql在windows下是不区分大小写的,将script文件导入mysql后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改mysql的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。其实方法是一样的,相应的更改windows中mysql的设置就行了。" |' a' M+ `2 O( i8 U( }7 S
具体操作:; |* X7 b ?+ A. ^
在mysql的配置文件my.ini中增加一行:
& }8 W4 T: X4 A% Llower_case_table_names = 0
8 L! |9 n* t( {/ l8 o4 G其中 0:区分大小写,1:不区分大小写* P* \4 {$ m3 x+ f* ?
mysql在linux下数据库名、表名、列名、别名大小写规则是这样的:
" W/ L3 }- o3 X: d& u5 Z( I1、数据库名与表名是严格区分大小写的;
& s3 v/ S r+ D. K: \; @2、表的别名是严格区分大小写的;
9 _0 R' v6 H$ [3 X1 C3、列名与列的别名在所有的情况下均是忽略大小写的;4 `( z+ ]5 D; p
4、变量名也是严格区分大小写的; mysql在windows下都不区分大小写- A5 F! ~7 H4 P5 D, R3 M' m
以上就是本文的全部内容了,希望大家能够喜欢。
0 G4 B' k w3 V1 o" G$ G8 A. C& C8 {" w' ^
更多网页制作信息请查看: 网页制作 |
|