一尘不染

如何将MySQL配置为区分大小写

mysql

默认情况下,对于MySQL服务器上的整个数据库,启用和禁用区分大小写的命令是什么?我知道COLLATE语句,但似乎有必要将其放在运行的每个SQL语句中。是否可以选择全局设置?


阅读 217

收藏
2020-05-17

共1个答案

一尘不染

您可以在数据库创建和表创建级别上设置排序规则,作为CREATE
TABLE
语句的一部分。

要为整个数据库设置排序规则,可以使用:

CREATE DATABASE test_database CHARACTER SET utf8 COLLATE utf8_general_cs;

您还可以通过ALTER DATABASE更改现有数据库上的排序规则。(有关更多信息,请参见“ MySQL
数据库字符集和排序规则”手册条目。)

但是,如果只需要将一个表区分大小写,则可以简单地使用:

DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (
  test_id bigint unsigned NOT NULL auto_increment,
  ...

  PRIMARY KEY test_id (test_id),
  ...
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_general_cs;

(不区分大小写为“ utf8_general_ci”。)

最后,MySQL
字符集支持手册的主要部分可能值得快速阅读。(它列出了MySQL支持字符集和排序规则,并告诉您如何在服务器级别上设置字符集/排序规则,等等。)

2020-05-17