mysql i区分大小写
时间: 2023-10-13 16:03:05 浏览: 104
在默认情况下,MySQL是不区分大小写的,这意味着它对于表名、列名、函数名等标识符是不区分大小写的。例如,`SELECT * FROM employees` 和 `select * from Employees` 在执行时被认为是相同的。
不过,你也可以通过设置MySQL的字符集和校对规则来使其区分大小写。在创建数据库时,可以选择一种区分大小写的校对规则,这样就可以强制MySQL对标识符进行大小写敏感的比较。
举个例子,在创建数据库时指定区分大小写的校对规则:
```
CREATE DATABASE mydatabase
CHARACTER SET utf8
COLLATE utf8_bin;
```
在上述例子中,使用了`utf8_bin`校对规则,它是一种区分大小写的校对规则。
需要注意的是,修改已存在的数据库的字符集和校对规则可能会有一些风险和影响,请谨慎操作。
希望这个回答能够帮助到你!如果还有其他问题,请随时提问。
相关问题
mysql 查询区分大小写
在 MySQL 中,可以通过设置 collation 来区分大小写或不区分大小写进行查询。如果要进行区分大小写的查询,可以使用 BINARY 关键字或设置 collation 为区分大小写的字符集,例如 utf8_bin。
例如,查询 name 字段为 "John" 的记录,区分大小写可以使用以下语句:
```
SELECT * FROM table_name WHERE BINARY name = 'John';
```
或者设置 collation 为 utf8_bin,然后进行查询:
```
SELECT * FROM table_name WHERE name COLLATE utf8_bin = 'John';
```
如果要进行不区分大小写的查询,可以使用 LOWER() 或 UPPER() 函数将查询条件转换为小写或大写,然后进行查询,例如:
```
SELECT * FROM table_name WHERE LOWER(name) = 'john';
```
或者设置 collation 为不区分大小写的字符集,例如 utf8_general_ci,然后进行查询:
```
SELECT * FROM table_name WHERE name COLLATE utf8_general_ci = 'john';
```
Mysql不区分大小写搜索
在MySQL中进行不区分大小写的搜索,可以通过以下几种方法实现:
1. **使用`LOWER()`或`UPPER()`函数**:
通过将字段值和搜索关键字都转换为相同的大小写形式进行比较。
```sql
SELECT * FROM table_name WHERE LOWER(column_name) = LOWER('search_string');
```
或者
```sql
SELECT * FROM table_name WHERE UPPER(column_name) = UPPER('search_string');
```
2. **使用`COLLATE`子句**:
在查询中使用`COLLATE`子句指定一个不区分大小写的排序规则。
```sql
SELECT * FROM table_name WHERE column_name COLLATE utf8_general_ci = 'search_string';
```
或者
```sql
SELECT * FROM table_name WHERE column_name COLLATE utf8_unicode_ci = 'search_string';
```
3. **修改表的排序规则**:
在创建表时,可以指定一个不区分大小写的排序规则。
```sql
CREATE TABLE table_name (
column_name VARCHAR(255) COLLATE utf8_general_ci
);
```
或者在已有表中修改排序规则:
```sql
ALTER TABLE table_name MODIFY column_name VARCHAR(255) COLLATE utf8_general_ci;
```
通过以上方法,可以实现MySQL中的不区分大小写的搜索。
阅读全文
相关推荐












