MySQL中大小写是否有影响?

5

我找不到有关MySQL查询的哪个部分是区分大小写的参考资料。

是否有概述大写字母有影响的位置?

具体来说,其中任何一个区分大小写

  • 数据库名称
  • 表名
  • 列名

它是否与操作系统绑定?可配置的吗?还是其他因素的组合?


你使用的关系型数据库管理系统也取决于这个问题。其中一些不区分大小写。 - Smit
1
请查看http://dev.mysql.com/doc/refman/5.5/en/identifier-case-sensitivity.html。 - drew010
@drew010 --> 谢谢你,Drew。我之前并不知道这件事。 - Smit
2个回答

5
在MySQL中,数据库对应于数据目录中的目录。数据库中的每个表都对应于数据库目录中的至少一个文件(根据存储引擎可能还有更多)。因此,底层操作系统的大小写敏感性影响数据库和表名的大小写敏感性。这意味着在Windows中,数据库和表名不区分大小写,在大多数Unix变体中则区分大小写。

.

小写表名系统变量还会影响服务器处理标识符的大小写敏感度。你可以在这里阅读更多相关内容。

1
这再次证明了MySQL很糟糕。为什么你想要依赖文件系统来确定表名的大小写敏感性呢?不过,对于这个答案我给一个赞。 - GolezTrol

0

这取决于排序规则。例如,如果您的表使用unicode_general_ci,它将支持通用的Unicode字符识别算法,并且不区分大小写。


他在询问表和列名的大小写敏感性,而不是表中数据的大小写敏感性(这确实取决于排序规则)。 - Stijn de Witt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接