我有三张桌子样本。我使用mysql
将数据存储在数据库中
+--------------------------+
| Table-1 |
+--------------------------+
| Sl.No | Name | City |
+-------+------+-----------+
| 1 | Carl | Australia |
+-------+------+-----------+
+--------------------------+
| Table-1 |
+--------------------------+
| Sl.No | Name | City |
+-------+------+-----------+
| 1 | carl | australia |
+-------+------+-----------+
+--------------------------+
| Table-1 |
+--------------------------+
| Sl.No | Name | City |
+-------+------+-----------+
| 1 | CARL | AUSTRALIA |
+-------+------+-----------+
我所做的是我使用了不同的大小写字母,有些是大写字母,有些是小写字母。
数据存储在数据库区分大小写吗?
答案 0 :(得分:6)
数据仅存储为原始数据。但是,如果要以任何特定格式获取数据,可以对其进行格式化。您可以根据自己的方便性插入数据,但内部解释相同,即ABC is same as abc and aBc
默认情况下,MySQL查询不区分大小写。
底层操作系统的区分大小写是其中的一部分 在数据库和表名称的敏感性的情况下。 这意味着 在Windows和大小写中,数据库和表名称不区分大小写 在大多数Unix版本中都很敏感。一个值得注意的例外是Mac OS X,它是基于Unix的,但使用默认的文件系统类型(HFS +) 不区分大小写。但是,Mac OS X也支持UFS卷, 它就像在任何Unix上一样区分大小写。
在数据库内部,所有数据都以二进制格式存储。您可以使用不同的数据类型来计算机解释如何向用户显示数据,但这只是一个掩码。
答案 1 :(得分:4)
是的,数据库存储您提交数据的方式。
如果你说:
INSERT INTO MyTable (LowerCase, UpperCase) VALUES ("abcd", "ABCD");
它会插入:
LowerCase | UpperCase
abcd | ABCD
如果你这样做
INSERT INTO MyTable (LowerCase, UpperCase) VALUES ("AbCd", "aBcD");
它会插入:
LowerCase | UpperCase
AbCd | aBcD
由你来清理你想要的案件的输入,或者只是按照输入的方式让它去。
然而,当我做
时SELECT * FROM MyTable WHERE LowerCase="abcd";
它将返回两个条目。