5

我有三个表格样本。我曾经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 |
+-------+------+-----------+
  • 很明显我们可以在每个表中看到一行数据
  • 数据性质相同

我所做的是我使用了不同的大小写字母,有些是大写字母,有些是小写字母。

存储在数据库中的数据是否区分大小写?

4

2 回答 2

6

数据只是存储为原始数据。但是,如果您想以任何特定格式获取数据,您可以对其进行格式化。您可以根据自己的方便插入数据,但是在内部它们的解释是相同的,即ABC is same as abc and aBc

默认情况下,MySQL 查询不区分大小写。

来自MySQL 网站

底层操作系统的大小写敏感性在数据库和表名的大小写敏感性中起作用。这意味着数据库和表名在 Windows 中不区分大小写,而在大多数 Unix 中区分大小写。一个值得注意的例外是 Mac OS X,它基于 Unix,但使用不区分大小写的默认文件系统类型 (HFS+)。但是,Mac OS X 也支持 UFS 卷,它与任何 Unix 一样区分大小写。

附带说明:-

在数据库内部,所有数据都以二进制格式存储。您可以拥有不同的数据类型,计算机使用这些数据类型来解释如何向用户显示数据,但这只是一个掩码。

于 2013-10-03T17:10:06.200 回答
5

是的,数据库以您提交的方式存储数据。

如果你说:

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";

它将返回两个条目。

于 2013-10-03T17:11:43.660 回答