データベースの作成
この文はTiDBに新しいデータベースを作成します。MySQLにおける「データベース」の用語は、SQL標準のスキーマに最も近いものです。
概要
- CreateDatabaseStmt
 - IfNotExists
 - DBName
 - DatabaseOptionListOpt
 - DatabaseOptionList
 - DatabaseOption
 - PlacementPolicyOption
 
CreateDatabaseStmt ::=
    'CREATE' 'DATABASE' IfNotExists DBName DatabaseOptionListOpt
IfNotExists ::=
    ( 'IF' 'NOT' 'EXISTS' )?
DBName ::=
    Identifier
DatabaseOptionListOpt ::=
    DatabaseOptionList?
DatabaseOptionList ::=
    DatabaseOption ( ','? DatabaseOption )*
DatabaseOption ::=
    DefaultKwdOpt ( CharsetKw '='? CharsetName | 'COLLATE' '='? CollationName | 'ENCRYPTION' '='? EncryptionOpt )
|   DefaultKwdOpt PlacementPolicyOption
PlacementPolicyOption ::=
    "PLACEMENT" "POLICY" EqOpt PolicyName
|   "PLACEMENT" "POLICY" (EqOpt | "SET") "DEFAULT"
構文
CREATE DATABASEステートメントは、データベースを作成し、デフォルトの文字セットや照合順序などのデータベースのデフォルトのプロパティを指定するために使用されます。 CREATE SCHEMA CREATE DATABASEの同義語です。
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...
create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name
既存のデータベースを作成し、 IF NOT EXISTS指定しないと、エラーが表示されます。
create_specificationオプションは、データベース内の特定のCHARACTER SETとCOLLATE指定するために使用されます。現在、TiDB は一部の文字セットと照合順序のみをサポートしています。詳細については、 文字セットと照合順序のサポート参照してください。
例
mysql> CREATE DATABASE mynewdatabase;
Query OK, 0 rows affected (0.09 sec)
mysql> USE mynewdatabase;
Database changed
mysql> CREATE TABLE t1 (a int);
Query OK, 0 rows affected (0.11 sec)
mysql> SHOW TABLES;
+-------------------------+
| Tables_in_mynewdatabase |
+-------------------------+
| t1                      |
+-------------------------+
1 row in set (0.00 sec)
MySQLの互換性
TiDBのCREATE DATABASE文はMySQLと完全に互換性があります。互換性に違いがある場合は、 バグを報告する参照してください。