默认情况下,对于MySQL服务器上的整个数据库,启用和禁用区分大小写的命令是什么?我知道COLLATE语句,但似乎有必要将其放在运行的每个SQL语句中。是否可以选择全局设置?
您可以在数据库创建和表创建级别上设置排序规则,作为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”。)
utf8_general_ci
最后,MySQL 字符集支持手册的主要部分可能值得快速阅读。(它列出了MySQL支持的字符集和排序规则,并告诉您如何在服务器级别上设置字符集/排序规则,等等。)