管理数据库的DDL语句 DRDS支持直接连接DBProxy执行DDL语句,本文为您介绍dbproxy管理数据库的DDL语句,包括创建、查看和删除数据库的DDL语句。 注意 仅V5.1.20.0.13及以后版本的实例,支持使用本文介绍的DDL语句。 创建数据库(create db) 语法 plaintext CREATE DATABASE [IF NOT EXISTS] dbname [createoption] createoption: [DEFAULT] [CHARACTER SET charsetname] [COLLATE collationname] { [partitionoption] [shardinghint] } partitionoption: [DN [] 'dnname[,dnname...]'] [PARTITIONS [] dnpartitionnumber] shardinghint: / sharding @@database name'{dbname}' set datasource '{rds1}:{rdsnumber1},{rds2}:{rdsnumber2}' and number{统一分片数量} / 参数说明 dbname: 待创建的数据库名称。长度限制为大于等于3且小于51个字符。 CHARACTER SET: 指定数据库的字符集。支持设置为utf8和utf8mb4字符集。 COLLATE: 指定数据库的排序规则。支持设置为utf8generalci和utf8mb4bin排序规则。 注意 如果指定了CHARACTER SET 但未指定COLLATE,则默认补充为: utf8的COLLATE: utf8generalci utf8mb4的COLLATE:utf8mb4bin 如果未指定CHARACTER SET 和COLLATE,默认为utf8mb4/utf8mb4bin。 DN/PARTITIONS:SQL风格的分片信息,用于为简单使用场景指定数据库分片与RDS数据源。 DN :指定RDS数据源列表,默认值为show rdslist命令获取的RDS列表。 PARTITIONS:指定各个RDS上统一的分片数量,默认值为1 。 sharding:HINT风格的分片信息,用于指定数据库分片到多个 RDS数据源上。 @@database name'{dbname}':指定数据库名称。 set datasource '{rds1}:{rdsnumber1},{rds2}:{rdsnumber2}':指定RDS数据源及其分片数量。 and number{统一分片数量}:指定统一分片数量。 其中: SQL风格的分片信息与HINT风格的分片信息虽然写法不同,但作用相同,因此只需使用其中一种写法即可。 注意 在简单使用场景下,只需选择SQL风格分片写法或者HINT风格分片写法一种即可。由于HINT风格分片写法的功能更强大,可以为不同RDS数据源指定不同的分片数量,在复杂使用场景下,当需要为不同RDS数据源指定不同的分片数量时,只能使用HINT风格分片写法。 如果同时省略两者,即不指定SQL风格分片信息与 HINT风格分片信息,则数据源将默认为show rdslist命令获取的RDS列表,且每个RDS的分片数量默认为1。 假设有一个DRDS集群使用show rdslist命令获取的RDS列表包含udal3307、udal3308两个数据源,当使用如下SQL语句来建库: plaintext CREATE DATABASE mydb; 等同于使用如下SQL风格分片信息的SQL语句来建库: plaintext CREATE DATABASE mydb DN 'udal3307,udal3308' PARTITIONS 1; 或等同于使用如下HINT风格分片信息的SQL语句来建库: plaintext CREATE DATABASE mydb/ sharding @@database name'mydb' set datasource 'udal3307:1,udal3308:1' and number1 /;