mysql存入的数据区分大小写吗
时间: 2024-05-22 08:10:06 浏览: 9
MySQL 默认情况下是不区分大小写的,但可以通过设置来实现区分大小写。例如,在创建表时可以指定表名的大小写规则,使用 BINARY 关键字可以使字符串比较区分大小写。同时,也可以在 MySQL 的配置文件中设置 collation_server 和 collation_database 参数来指定服务器和数据库的字符集和排序规则,从而影响数据的大小写敏感性。
相关问题
mysql把整个库设置成查询时对存储的数据大小写敏感
在 MySQL 中,存储的数据是默认大小写敏感的,也就是说,如果你插入数据是大写,那么查询时也必须使用大写才能查到该数据。如果你想把整个库设置成查询时对存储的数据大小写不敏感,可以通过修改 MySQL 的配置文件来实现。
具体来说,可以在配置文件中加入以下内容:
```
[mysqld]
lower_case_table_names=1
```
其中,lower_case_table_names 参数的值可以为 0、1 或 2,分别表示:
- 0:不区分大小写,但是保存时区分大小写。
- 1:全部转换为小写,不区分大小写。
- 2:保持原样,区分大小写。
需要注意的是,修改 MySQL 的配置文件需要重启 MySQL 服务才能生效。此外,对于已经存在的数据,修改该参数后可能会导致查询失败,因为原来的数据可能已经被转换成了小写。因此,在修改该参数之前,需要备份数据,以防不测。
MySQL 的 BINARY
MySQL的BINARY是一种数据类型,用于存储二进制数据。它可以存储任意长度的二进制数据,包括字节、位和比特。BINARY类型的数据在存储和比较时是区分大小写的。
以下是关于MySQL的BINARY的介绍和演示:
1. BINARY类型的定义和使用[^1]:
```mysql
CREATE TABLE t (
b BINARY(4)
);
INSERT INTO t (b) VALUES (0b1000001);
SELECT b FROM t; -- 输出:A
```
在上面的例子中,我们创建了一个名为t的表,其中包含一个BINARY类型的列b。我们插入了一个二进制值0b1000001,并通过SELECT语句检索出来。输出结果是A,因为0b1000001对应的ASCII码是65,而65对应的字符是A。
2. BINARY类型的运算和转换:
```mysql
SELECT b+0, BIN(b+0), OCT(b+0), HEX(b+0) FROM t;
```
上面的查询语句将BINARY类型的列b进行了运算和转换,并返回了其对应的十进制、二进制、八进制和十六进制表示。你可以根据需要选择相应的转换函数来处理BINARY类型的数据。