首批通过分布式安全可靠测评,为关键业务系统打造
数据库级字符集和字符序
更新时间:2026-06-03 19:03:44
每个数据库都有默认字符集和默认字符序。
指定数据库的字符集和字符序
CREATE DATABASE 语句用于指定数据库的字符集和字符序,语法如下:
CREATE DATABASE database_name
[DEFAULT] CHARACTER SET [=] charset_name
[[DEFAULT] COLLATE [=] collation_name]
其中,CHARACTER SET 和 COLLATE 子句可以在同一 OBServer 上创建具有不同字符集和字符序的数据库。
选择数据库的字符集和字符序
OceanBase 数据库通过以下方式选择数据库的字符集和字符序:
如果同时指定了
CHARACTER SET charset_name和COLLATE collation_name,则使用字符集charset_name和字符序collation_name。如果指定了
CHARACTER SET charset_name但未指定COLLATE,则使用字符集charset_name及其默认字符序。要查看每个字符集的默认字符序,请使用SHOW CHARACTER SET语句。如果指定了
COLLATE collation_name但未指定CHARACTER SET,则使用与collation_name关联的字符集和指定的字符序 。如果既不指定
CHARACTER SET也不指定COLLATE,使用服务器的字符集和字符序。
默认数据库的字符集和字符序可以通过 character_set_database 和 collation_database 系统变量的值来确定。要查看指定数据库的默认字符集和字符序,请使用以下语句:
USE database_name;
SELECT @@character_set_database, @@collation_database;
或者:
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'database_name';