mysql把整个库设置成查询时对存储的数据大小写敏感
时间: 2023-10-10 20:11:01 浏览: 47
在 MySQL 中,存储的数据是默认大小写敏感的,也就是说,如果你插入数据是大写,那么查询时也必须使用大写才能查到该数据。如果你想把整个库设置成查询时对存储的数据大小写不敏感,可以通过修改 MySQL 的配置文件来实现。
具体来说,可以在配置文件中加入以下内容:
```
[mysqld]
lower_case_table_names=1
```
其中,lower_case_table_names 参数的值可以为 0、1 或 2,分别表示:
- 0:不区分大小写,但是保存时区分大小写。
- 1:全部转换为小写,不区分大小写。
- 2:保持原样,区分大小写。
需要注意的是,修改 MySQL 的配置文件需要重启 MySQL 服务才能生效。此外,对于已经存在的数据,修改该参数后可能会导致查询失败,因为原来的数据可能已经被转换成了小写。因此,在修改该参数之前,需要备份数据,以防不测。
相关问题
MySQL中设置存储的数据查询的时候区分大小写敏感
默认情况下,MySQL 是不区分大小写的。如果你想要设置存储的数据查询的时候区分大小写敏感,可以在创建表的时候指定相应的字符集和校对规则。例如,以下是一个创建表时指定字符集和校对规则的例子:
```
CREATE TABLE mytable (
id INT,
name VARCHAR(50)
) CHARSET=utf8mb4 COLLATE utf8mb4_bin;
```
在上面的例子中,我们指定了字符集为 utf8mb4,并且指定了校对规则为 utf8mb4_bin。校对规则中的 `_bin` 表示二进制比较,这种比较是区分大小写的。
如果你已经创建了表,但是没有指定字符集和校对规则,可以使用 ALTER TABLE 语句来修改表的字符集和校对规则。例如,以下是一个修改表字符集和校对规则的例子:
```
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
```
在上面的例子中,我们使用 ALTER TABLE 语句将表的字符集修改为 utf8mb4,并且将校对规则修改为 utf8mb4_bin。注意,修改表的字符集和校对规则可能会导致数据的丢失或者损坏,请谨慎操作。
mysql8设置大小写敏感
### 回答1:
MySQL 8 默认情况下是大小写敏感的,如果你想更改 MySQL 8 的大小写敏感性,可以使用以下两种方法之一:
1. 修改配置文件
在 MySQL 8 的配置文件 my.cnf 或 my.ini 中添加以下行:
```
[mysqld]
lower_case_table_names=1
```
其中 lower_case_table_names 参数的值可以是 0、1、2,分别表示:
- 0:大小写敏感,区分大小写
- 1:表名大小写不敏感,但字段名大小写敏感
- 2:大小写不敏感,不区分大小写
修改完毕后,重启 MySQL 8 服务使配置生效。
2. 修改系统变量
在 MySQL 8 中,可以使用以下命令修改系统变量 lower_case_table_names:
```
SET GLOBAL lower_case_table_names=1;
```
同样,lower_case_table_names 参数的值可以是 0、1、2。
注意,这种方法修改的是全局变量,会影响到所有用户的连接,因此建议在修改前备份数据。修改完毕后,需要重启 MySQL 8 服务才能生效。
需要注意的是,在 MySQL 8 中,如果 lower_case_table_names 参数的值为 0,那么所有表名和字段名都是区分大小写的;如果为 1 或 2,表名是不区分大小写的,但字段名仍然是区分大小写的。因此,在设计数据库表时,应该注意表名和字段名的大小写规范,以避免出现混淆和错误。
### 回答2:
在MySQL 8中设置大小写敏感,可以通过修改配置文件或在创建数据库时进行指定。
1. 修改配置文件:
首先,打开MySQL的配置文件my.cnf(Windows环境下为my.ini)。
找到[mysqld]部分,并添加或修改以下行:
```
lower_case_table_names=2
```
这个参数的值可设置为0、1或2,表示不区分大小写、区分大小写或根据操作系统设置来决定。推荐值为2,即根据操作系统设置。
保存修改后,重启MySQL服务。
2. 创建数据库时指定大小写敏感:
在创建数据库时,可以使用COLLATE指定排序规则及大小写敏感属性。例如,创建一个不区分大小写的数据库:
```
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
这里的_collate_指定了排序规则,而_general_ci_表示不区分大小写。如果希望区分大小写,可以选择_general_cs。
无论是修改配置文件还是在创建数据库时指定,都需要谨慎考虑对已有数据库和数据的影响。如果在修改后发现有问题,可以恢复到默认设置或重新创建数据库。
### 回答3:
在MySQL8中,可以通过修改服务器配置文件来设置大小写敏感。
1. 首先,打开MySQL配置文件my.cnf或my.ini,在Windows上通常位于MySQL安装目录的bin文件夹下。
2. 在[mysqld]部分添加或修改下列参数:
lower_case_table_names=0
这个参数控制数据库对象(例如表名、列名等)是否应该区分大小写。设置为0表示大小写敏感,设置为1表示将所有数据库对象名转换为小写,设置为2表示将所有数据库对象名转换为小写,但保留原始的数据库对象名以便引用。
3. 保存并关闭配置文件。
4. 重启MySQL服务器,使配置生效。
请注意,如果你的MySQL服务器上已经有现有的数据库和表,修改这些参数可能会导致一些问题。因此,在进行任何修改之前,请确保备份所有重要的数据库和表数据。
如果你想具体设置某个特定的表大小写敏感,可以在创建表时使用引号括起表名,例如:
CREATE TABLE "MyTable" (...);
这样表名会被视为区分大小写。
总之,通过修改MySQL8的配置文件,你可以轻松设置大小写敏感来满足你的需求。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)