Mysql大小写中易出现的问题的解决
以下的文章主要介绍的是Mysql大小写的某些问题的解决,本文是通过Mysql大小写的敏感性来对其进行详细研究的,以下就是文章对其具体内容的详细介绍,望你浏览之后会对Mysql大小写的相关问题有更好的了解。 1、数据库和表名 在Mysql中,数据库和表对应于在那些
以下的文章主要介绍的是Mysql大小写的某些问题的解决,本文是通过Mysql大小写的敏感性来对其进行详细研究的,以下就是文章对其具体内容的详细介绍,望你浏览之后会对Mysql大小写的相关问题有更好的了解。
1、数据库和表名
在Mysql中,数据库和表对应于在那些目录下的目录和文件,因而,内在的操作系统的敏感性决定数据库和表命名的大小写敏感性。这意味着数据库和表名在Unix上是区分大小写的,而在Win32上忽略大小写。
注意:在Win32上,尽管数据库和表名是忽略Mysql大小写的,你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表。下列查询将不工作,因为它作为my_table和作为MY_TABLE引用一个表:
- Mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
2、列名
列名在所有情况下都是忽略大小写的。
3、表的别名
表的别名是区分大小写的。下列查询将不工作,: 因为它用a和A引用别名:
- Mysql> SELECT col_name FROM tbl_name AS a
- 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。
简单的比较操作(>=、>、= 、
LIKE比较在每个字符的大写值上进行(“E”=”e”)。
如果你想要一个列总是被当作Mysql大小写敏感的方式,声明它为BINARY。
例如:
- Mysql> SELECT "E"="e","E"=BINARY "e";
- +---------+----------------+| "E"="e" | "E"=BINARY "e"
|+---------+----------------+| 1 | 0 |+---------+----------------+
上述的相关内容就是对Mysql大小写问题的描述,希望会给你带来一些帮助在此方面。
推荐阅读
-
java中tomcat的80端口被占用问题解决
-
Android编程中聊天页面背景图片、标题栏由于键盘引起问题的解决方法
-
解决Flask读取mysql数据库的中文乱码问题
-
Mysql在debian系统中不能插入和显示中文的解决方法
-
用SQL语句解决mysql导入大数据文件的问题
-
Android 中解决Viewpage调用notifyDataSetChanged()时界面无刷新的问题
-
Android编程中调用Camera时预览画面有旋转问题的解决方法
-
解决python中画图时x,y轴名称出现中文乱码的问题
-
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
-
mysqlreport显示Com_中change_db占用比例高的问题的解决方法