格式

    1. CREATE DATABASE [IF NOT EXISTS] dbname
    2. [create_specification_list];
    3. create_specification_list:
    4. create_specification [create_specification…]
    5. create_specification:
    6. [DEFAULT] CHARACTER SET [=] charsetname
    7. | [DEFAULT] COLLATE [=] collationname
    8. | REPLICA_NUM [=] num
    9. | PRIMARY_ZONE [=] zone
    10. | DEFAULT TABLEGROUP [=] {NULL | tablegroupname}

    CREATEDATABASE 用于创建数据库,并可以指定数据库的默认属性(如数据库默认字符集,校验规则等);REPLICA_NUM 指定副本数;PRIMARY_ZONE 指定主集群(需要判断 Primary Zone 在 Tenant 的 Zone List 中);DEFAULT TABLEGROUP设置数据库默认表组,如果不指定,默认为NULL。

    示例

    1. root@(none) 01:36:27>create database test2 default CHARACTER SET UTF8;
    2. Query OK, 1 row affected (0.00 sec)
    3. root@(none) 01:36:44>create database test3 CHARACTER SET UTF8;
    4. Query OK, 1 row affected (0.00 sec)

    报错

    • 如果需要创建的数据库已经存在,且没有加 IF NOT EXITS,则报ERROR 1007 (HY000): Can't create database 'test3'; database exists

    • 语法错误时报 ERROR 1064 (42000): You have an error in your SQL syntax;

    • 数据库名超出限定长度,报 ERROR 1059 (42000): Identifier name 'XXXX' is too long