更新时间:2024-06-03 GMT+08:00

数据库级字符集和字符序

创建一个新的数据库时,可以指定数据库的字符集字符序。

 CREATE DATABASE [IF NOT EXISTS] database_name
               [ ENCODING [=] encoding ] |
               [ LC_COLLATE [=] lc_collate ] |
               [ LC_CTYPE [=] lc_ctype ] |;

参数说明:

  • database_name

    数据库名称。

    取值范围:字符串,要符合标识符的命名规范。

  • ENCODING [ = ] encoding

    指定数据库使用的字符编码,可以是字符串(如'SQL_ASCII')、整数编号。

  • LC_COLLATE [ = ] lc_collate

    指定新数据库使用的字符集。例如,通过lc_collate = 'zh_CN.gbk'设定该参数。

    该参数的使用会影响到对字符串的排序(如使用ORDER BY执行,以及在文本列上使用索引的顺序)。默认是使用模板数据库的排序。

    取值范围:操作系统支持的字符集。

  • LC_CTYPE [ = ] lc_ctype

    指定新数据库使用的字符分类。例如,通过lc_ctype = 'zh_CN.gbk'设定该参数。该参数的使用会影响到字符的分类,如大写、小写和数字。默认是使用模板数据库的字符分类。

    取值范围:操作系统支持的字符分类。

    • 数据库级字符集、字符序语法所有模式均可使用,详细语法参考CREATE DATABASE
    • LC_COLLATE/LC_CTYPE语法不支持指定MYSQL模式特有的字符序,参数的取值范围取决于本地环境支持的字符集,可通过locale -a查看。