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';