Mysql大小写中易出现的问题的解决
2010-09-01 18:28
162 查看
Mysql大小写中易出现的问题的解决
1、数据库和表名
在Mysql中,数据库和表对应于在那些目录下的目录和文件,因而,内在的操作系统的敏感性决定数据库和表命名的大小写敏感性。这意味着数据库和表名在Unix上是区分大小写的,而在Win32上忽略大小写。
注意:在Win32上,尽管数据库和表名是忽略Mysql大小写的,你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表。下列查询将不工作,因为它作为my_table和作为MY_TABLE引用一个表:
1.Mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
2、列名
列名在所有情况下都是忽略大小写的。
3、表的别名
表的别名是区分大小写的。下列查询将不工作,: 因为它用a和A引用别名:
1.Mysql> SELECT col_name FROM tbl_name AS a
2.WHERE a.col_name = 1 OR A.col_name = 2;
4、列的别名
列的别名是忽略大小写的。
5、字符串比较和模式匹配
缺省地,Mysql搜索是大小写不敏感的(尽管有一些字符集从来不是忽略Mysql大小写的,例如捷克语)。这意味着,如果你用
col_name LIKE 'a%'搜寻,你将得到所有以A或a开始的列值。如果你想要使这个搜索大小写敏感,使用象INDEX(col_name,
"A")=0检查一个前缀。或如果列值必须确切是"A",使用STRCMP(col_name, "A") = 0。
简单的比较操作(>=、>、= 、< 、<=、排序和聚合)是基于每个字符的“排序值”。有同样排序值的字符(象E,e)被视为相同的字符!
LIKE比较在每个字符的大写值上进行(“E”=”e”)。
如果你想要一个列总是被当作Mysql大小写敏感的方式,声明它为BINARY。
例如:
1.Mysql> SELECT "E"="e","E"=BINARY "e";
2.+---------+----------------+| "E"="e" | "E"=BINARY "e"
|+---------+----------------+| 1 | 0 |+---------+----------------+
上述的相关内容就是对Mysql大小写问题的描述,希望会给你带来一些帮助在此方面。
http://www.itmop.com/network/sql/mysql/05215714.html
相关文章推荐
- MySql 出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).问题解决方案
- 解决mysql开启GTID主从同步出现1236错误问题
- mysql卸载后重装时出现问题解决方法
- MYSQL的binary解决mysql数据大小写敏感问题的方法
- 解决启动MySQLAdministrator.exe出现服务器配置文件不存在的问题
- 解决centos下安装mysql5.6找不到my.conf与数据库表大小写识别问题
- mysql 数据同步 出现Slave_IO_Running:No问题的解决方法小结
- 用mysql5.6.21源码安装mysql出现问题解决
- 解决在CentOS上安装mysql出现/lib/ld-linux.so.2: bad ELF interpreter问题和缺少共享库libstdc++.so.6
- 解决mysql的select查找的数据出现乱码的问题
- mysql连接linux系统提示“登录出现1130 is not allowed to connect to this MySql server”问题,解决方法
- 解决MySQL5.6.21安装版出现the the service mysql56 failed问题的方法。
- MySQL中出现乱码问题的终极解决宝典
- .NET 操作 MySql 时,出现Duplicate entry '0' for key 'PRIMARY'问题解决办法
- 解决java连MySQL时出现乱码问题
- mysql insert into (高并发插入时出现的问题) 解决
- 解决MySQL出现UnauthenticatedUser的问题
- mysql执行update时出现问题解决
- 二次安装mysql时出现的问题及解决
- MYSQL的binary解决mysql数据大小写敏感问题