Outdated Version
You are viewing an older version of this section. View current production version.
CREATE DATABASE
Creates a database.
Syntax
CREATE DATABASE [IF NOT EXISTS] db_name [WITH {SYNC | ASYNC} REPLICATION] [PARTITIONS n]
[create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name
-- "schema" is an alias for "database"
CREATE SCHEMA [IF NOT EXISTS]...
Remarks
db_nameis the name to assign to this new MemSQL database. Do not use the_XXsuffix (such astest_db_01) while naming a MemSQL database as it may cause a mismatch with the database partition ordinals (sharded databases on each leaf node).WITH {SYNC | ASYNC} REPLICATIONcontrols whether replication in high availability will be done synchronously or asynchronously. The default mode isASYNC. Partitions replicated synchronously will ensure commits have reached all replicas before acknowledging the transaction to the user client. While providing stronger consistency guarantees, this can negatively impact write performance. For more information, refer to Managing High Availability.PARTITIONS nallows you to set the total number of partitions that the data will be split into. By default this is controlled by thedefault_partitions_per_leafvariable. Note thatnrefers to the total number of partitions across all leaves.- The
CREATE DATABASE ... DEFAULT CHARSET=syntax is accepted by MemSQL for compatibility with MySQL, but it has no effect. MemSQL gives all databases a default charset of utf8. - This command must be run on the master aggregator node (see Node Requirements for MemSQL Commands).
Example
memsql> CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected (0.18 sec)