以下的文章主要介绍的是Mysql大小写的某些问题的解决,本文是通过Mysql大小写的敏感性来对其进行详细研究的,以下就是文章对其具体内容的详细介绍,望你浏览之后会对Mysql大小写的相关问题有更好的了解。
1、数据库和表名

在Mysql中,数据库和表对应于在那些目录下的目录和文件,因而,内在的操作系统的敏感性决定数据库和表命名的大小写敏感性。这意味着数据库和表名在Unix上是区分大小写的,而在Win32上忽略大小写。
注意:在Win32上,尽管数据库和表名是忽略Mysql大小写的,你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表。下列查询将不工作,因为它作为my_table和作为MY_TABLE引用一个表:
2、列名
列名在所有情况下都是忽略大小写的。
3、表的别名
表的别名是区分大小写的。下列查询将不工作,: 因为它用a和A引用别名:
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。
例如:
【编辑推荐】
sql语句大小写有关系吗?
SQL大小写并不敏感,但是如果是引起来的字符,则是区分大小写的,示例如下,1、创建测试表,create table test_uporlow(id number, value vArchar2(20));2、插入样例数据,insert into test_uporlow values (301,Abcd);insert into test_uporlow values (302,cdef);insert into test_uporlow values (303,fgh);insert into test_uporlow values (304,acdfg);commit;3、查询所有含大写字母A记录,select t.*, rowid from TEST_UPORLOW t where value like A%,可以发现只能取出大写的A,表名TEST_UPORLOW大写或者小写都是可以的,4、查询所有含小写字母a记录,select t.*, rowid from TEST_UPORLOW t where value like a%,可以发现只能取出大写的a,
linux下mysql表名大小写问题
这个和hibernate 无关,MYSQL的问题1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;2、用root帐号登录后,在/etc/中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;lower_case_table_names参数详解:lower_case_table_names=0其中0:区分大小写,1:不区分大小写MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:1、数据库名与表名是严格区分大小写的;2、表的别名是严格区分大小写的;3、列名与列的别名在所有的情况下均是忽略大小写的;4、变量名也是严格区分大小写的;MySQL在Windows下都不区分大小写。 3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:A、创建时设置:CREATE TABLE T(A VARCHAR(10)BINARY);B、使用alter修改:ALTER TABLE`tablename`MODIFY COLUMN`cloname`VARCHAR(45)BINARY;C、mysql table editor中直接勾选BINARY项。
如何解决MySQLAdministrator 启动报错
解决办法如下:C:/mysql-5.1.41-win32/bin>mysqld --install MySQL --defaults-file=c:/ successfully installed.C:/mysql-5.1.41-win32/bin>net start MySQLMySQL 服务正在启动 服务已经启动成功。 C:/mysql-5.1.41-win32/bin>1、通过执行mysqld --install命令可以安装mysql服务,同时指定配置文件的位置2、通过执行net start 命令,启动MySQL服务这时你再运行MySQLAdministrator时,就不会再报错了。 参考资料mysqld --verbose --help 查看帮助删除MySQL服务C:/mysql-5.1.41-win32/bin>mysqld --remove MySQL停止MySQL服务net stop MySQL参考:
发表评论