データベースの作成
このステートメントは、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 の互換性
このステートメントは、MySQL と完全に互換性があると理解されています。互換性の違いは、GitHub で問題を介して報告されたにする必要があります。