我们大家都知道在MySQL数据库中,数据库与其表对应的是在那些目录下目录与相关的文件,因而内在的相关的操作系统的敏感性决定数据库与表命名的大小写敏感性。这就意味着数据库和表名在Unix上是区分大小写的,而在Win32上忽略大小写。
数据库和表名
在MySQL中,数据库和表对应于在那些目录下的目录和文件,因而,内在的操作系统的敏感性决定数据库和表命名的大小写敏感性。这意味着数据库和表名在Unix上是区分大小写的,而在Win32上忽略大小写。
注意:在Win32上,尽管MySQL数据库和表名是忽略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数据库大小写问题的描述,IT技术网itjs.cn整理分享给学习MySQL的朋友,希望大家喜欢这样的Mysql文章或资料。
国外媒体CNET NEWS就这个“上帝模式”和微软Windows部门主管Steven Sinofsky进行邮件交流后得知,这其实只是众多快捷方式中的一个,Sinofsky在邮件里给出了十多个这类快捷方式的关键字符串。 它们的建立方法和之前的“上帝模式”一样,在任意位置新建的一个文件夹,然后改名即可...
问题现象,具体如下所示: 故障分析: 一般来说,出现这种情况是因为电脑误删系统文件或者是系统文件被顽固木马破坏。 解决方法: 1、下载360安全卫士,找到里面的急救箱开始急救,然后进行修复,完成后重新启动; 2、下载瑞...
故障分析: 主要原因应该是不存在软盘驱动器或驱动器未安装,找到故障原因后,Windows 7 32位系统只要将软盘驱动器禁用就可以了。 解决措施: 1、右键点击计算机,选择管理,打开计算机管理窗口; 2、在计算机管理中,找到设备管理器,在右边的软盘控制器中右击,选择卸载即可。 以...
一、打开控制面板,选择“网络和共享中心”; 二、在网络和共享中心中选择“设置新的连接或网络”; 三、选择连接到Internet; 四、选择“仍要设置新的连接”; 五、选择“宽带PPPoE ”; 六、输入对应的宽带帐号及密码,点击连接即可;...
经常听见有人说用Windows 7玩网络游戏的时候网络延时比较高,也就是ping比平时xp的时候高一点,一直找不到原因,很苦恼。今天我们终于找到理由了,原来是Windows 7的一个服务在作怪,这个服务叫:Multimedia Class Scheduler,就是这个服务让我的PING如此高,问题是...
经过几天的测试后发现,Windows 7用户反映的情况确实存在,但并没有达到“频繁”的情况。同时,也并非是迅雷或快车抢了带宽。(即便是抢了带宽,表现的形式也是页面打开慢,而非是掉线),寻找问题的原因过程中,我们认为是Windows 7系统对于网卡的电源管理的默认设置造成的。 下面,就以Window...