CREATE DATABASE語句用於建立資料庫,並可以指定資料庫的預設屬性(如資料庫預設字元集,校正規則等)。
文法
create_database_stmt:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] database_name [database_option_list]
database_option_list:
database_option [database_option ...]
database_option:
[DEFAULT] {CHARACTER SET | CHARSET} [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
| LOCALITY = locality_option}
| [{PARTITION_MODE|MODE} = partition_mode_option]
| [DEFAULT_SINGLE = default_single_option]
locality_option:
'dn=storage_inst_id_list'
storage_inst_id_list:
storage_inst_id[,storage_inst_id_list]
partition_mode_option:
{'auto'|'partitioning'}
|{'drds'|'sharding'}
default_single_option:
{'on'|'off'}
注意事項
標準版不支援dbpartition(分庫分表)文法,僅企業版執行個體支援建立DRDS模式資料庫。
參數說明
參數 | 說明 |
database_name | 指定要建立的資料庫名稱。 |
CHARSET charset_name | 指定待建立資料庫的字元集。 |
COLLATE collation_name | 指定校對規則。 |
LOCALITY | 建立資料庫時指定該庫的儲存位置。 說明 通過LOCALITY文法指定了資料庫的位置之後,不支援再修改該庫的儲存位置。 |
MODE | 指定邏輯庫所使用的分區模式,支援兩種分區模式:
重要
|
DEFAULT_SINGLE(版本要求:PolarDB-X 5.4.17-16921956及以上) | 指定AUTO模式資料庫是否使用單表自動打散至各個DN節點的分布策略,該選項僅對AUTO模式資料庫有效,對DRDS模式資料庫無效。參數取值如下:
|
樣本
建立AUTO模式資料庫
test
,並指定字元集為UTF8。CREATE DATABASE test MODE=auto default CHARACTER SET UTF8; Query OK, 1 row affected (0.00 sec)
在執行個體中建立一個資料庫,並通過以下命令指定其儲存位置為polardbx-storage-0-master節點。
CREATE DATABASE db1 MODE=drds LOCALITY='dn=polardbx-storage-0-master';
說明如果在建立資料庫時未指定資料庫的儲存位置,系統將預設在所有儲存節點中均勻分布資料庫。
資料庫中分表的儲存位置與該庫的儲存位置保持一致,以實現分表上的資料隔離。
資料庫建立成功後,您可以通過以下語句查看資料庫的儲存位置資訊。
SHOW CREATE DATABASE db1 MODE=drds;
返回結果如下所示:
+----------+------------------------------------------------------------------------+ | DATABASE | CREATE DATABASE | +----------+------------------------------------------------------------------------+ | db1 | CREATE DATABASE `db1` /* LOCALITY = "dn=polardbx-storage-0-master" */ | +----------+------------------------------------------------------------------------+ 1 row in set