The CREATE DATABASE statement creates a new CockroachDB database.

Required privileges

Only the root user can create databases.

Synopsis

CREATE DATABASE IF NOT EXISTS name WITH ENCODING = encoding
## Parameters Parameter | Description ----------|------------ `IF NOT EXISTS` | Create a new database only if a database of the same name does not already exist; if one does exist, do not return an error. `name` | The name of the database to create, which [must be unique](#create-fails-name-already-in-use) and follow these [identifier rules](keywords-and-identifiers.html#identifiers). `encoding` | The `CREATE DATABASE` statement accepts an optional `ENCODING` clause for compatibility with PostgreSQL, but `UTF-8` is the only supported encoding. The aliases `UTF8` and `UNICODE` are also accepted. Values should be enclosed in single quotes and are case-insensitive.

Example: `CREATE DATABASE bank ENCODING = 'UTF-8'`. ## Example ### Create a database
copy
icon/buttons/copy
> CREATE DATABASE bank;
copy
icon/buttons/copy
> SHOW DATABASES;
+----------+
| Database |
+----------+
| bank     |
| system   |
+----------+

Create fails (name already in use)

copy
icon/buttons/copy
> SHOW DATABASES;
+----------+
| Database |
+----------+
| bank     |
| system   |
+----------+
copy
icon/buttons/copy
> CREATE DATABASE bank;
pq: database "bank" already exists
copy
icon/buttons/copy
> SHOW DATABASES;
+----------+
| Database |
+----------+
| bank     |
| system   |
+----------+
copy
icon/buttons/copy
> CREATE DATABASE IF NOT EXISTS bank;

SQL does not generate an error, but instead responds CREATE DATABASE even though a new database wasn't created.

copy
icon/buttons/copy
> SHOW DATABASES;
+----------+
| Database |
+----------+
| bank     |
| system   |
+----------+

See also



Yes No