一、1 create table name(name varchar(10));) t I! J$ D2 w& p
对这个表,缺省情况下,下面两个查询的结果是一样的:+ @1 c: Y1 C' }) O6 X6 m* s, X! S
代码如下:
& c1 Y2 L) e% x+ _* g; cselect * from table name where name='clip';
$ G0 N& C6 r6 \5 @select * from table name where name='clip';
3 s6 {0 ~: S) \/ J3 u3 {mysql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,binary标示敏感的属性.* E6 y% a5 S; _6 r! e
代码如下:
. F7 Z V) L, O4 n6 X& Q0 xcreate table name(7 \* I( M0 H4 \% \* X, \/ ^/ s
name varchar(10) binary
6 Y8 t! ] j" R5 n' Y);% O2 T7 w& E1 V$ Y( E
2 在sql语句中实现 select * from table name where binary name='clip';
. r5 |' v$ r- O% Y/ j3 设置字符集:
! Z0 C3 b; g( ? F. |) butf8_general_ci --不区分大小写
( M# a6 f1 R' Y9 D; Y2 `: }0 q3 b% d& sutf8_bin--区分大小写
! @) j! y n' j# @; _3 ~二、 mysql在windows下是不区分大小写的,将script文件导入mysql后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改mysql的设置使其也不区分大小写,但是有没有办法反过来让windows 下大小写敏感呢。其实方法是一样的,相应的更改windows中mysql的设置就行了。
4 ^& z( c- M3 |0 G/ K) g/ V$ L具体操作:/ d+ j* P, d7 ]# H l- m$ V
在mysql的配置文件my.ini中增加一行:5 U- X9 y2 @$ J. E
lower_case_table_names = 0
6 Y7 X/ p/ p# ^/ x) i$ K其中 0:区分大小写,1:不区分大小写
9 _# u& C }/ G. {/ T+ P. Amysql在linux下数据库名、表名、列名、别名大小写规则是这样的:
% ]6 Y, \! S: C- ]. w E8 @1 O1、数据库名与表名是严格区分大小写的;
; V9 B5 x1 s: `! m" }! {+ g0 c2、表的别名是严格区分大小写的;# U6 @& @% ~: ^; ^7 i
3、列名与列的别名在所有的情况下均是忽略大小写的;
: ]# G/ e7 ?3 ?0 j4、变量名也是严格区分大小写的; mysql在windows下都不区分大小写5 i& p6 u. z$ W8 ^6 N! B1 m! m, [
以上就是本文的全部内容了,希望大家能够喜欢。& Q* W3 e5 t6 T+ g
! x3 l, D, ?! Z% g+ \% |更多网页制作信息请查看: 网页制作 |
|