CREATE DATABASE
Syntax
CREATE [OR REPLACE] {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'comment'
Description
CREATE DATABASE
creates a database with the given name. To use this statement, you need the CREATE privilege for the database. CREATE SCHEMA
is a synonym for CREATE DATABASE
.
For valid identifiers to use as database names, see Identifier Names.
OR REPLACE
If the optional OR REPLACE
clause is used, it acts as a shortcut for:
DROP DATABASE IF EXISTS db_name; CREATE DATABASE db_name ...;
IF NOT EXISTS
When the IF NOT EXISTS
clause is used, MariaDB will return a warning instead of an error if the specified database already exists.
COMMENT
MariaDB starting with 10.5.0
From MariaDB 10.5.0, it is possible to add a comment of a maximum of 1024 bytes. If the comment length exceeds this length, a error/warning code 4144 is thrown. The database comment is also added to the db.opt file, as well as to the information_schema.schemata table.
Examples
CREATE DATABASE db1; Query OK, 1 row affected (0.18 sec) CREATE DATABASE db1; ERROR 1007 (HY000): Can't create database 'db1'; database exists CREATE OR REPLACE DATABASE db1; Query OK, 2 rows affected (0.00 sec) CREATE DATABASE IF NOT EXISTS db1; Query OK, 1 row affected, 1 warning (0.01 sec) SHOW WARNINGS; +-------+------+----------------------------------------------+ | Level | Code | Message | +-------+------+----------------------------------------------+ | Note | 1007 | Can't create database 'db1'; database exists | +-------+------+----------------------------------------------+
Setting the character sets and collation. See Setting Character Sets and Collations for more details.
CREATE DATABASE czech_slovak_names CHARACTER SET = 'keybcs2' COLLATE = 'keybcs2_bin';
Comments, from MariaDB 10.5.0:
CREATE DATABASE presentations COMMENT 'Presentations for conferences';