Create a Database
This document describes how to create a database using SQL and various programming languages and lists the rules of database creation. In this document, the Bookshop application is taken as an example to walk you through the steps of database creation.
Before you start
Before creating a database, do the following:
What is database
Database objects in TiDB contain tables, views, sequences, and other objects.
Create databases
To create a database, you can use the CREATE DATABASE
statement.
For example, to create a database named bookshop
if it does not exist, use the following statement:
CREATE DATABASE IF NOT EXISTS `bookshop`;
For more information and examples of the CREATE DATABASE
statement, see the CREATE DATABASE
document.
To execute the library build statement as the root
user, run the following command:
mysql
-u root \
-h {host} \
-P {port} \
-p {password} \
-e "CREATE DATABASE IF NOT EXISTS bookshop;"
View databases
To view the databases in a cluster, use the SHOW DATABASES
statement.
For example:
mysql
-u root \
-h {host} \
-P {port} \
-p {password} \
-e "SHOW DATABASES;"
The following is an example output:
+--------------------+
| Database |
+--------------------+
| INFORMATION_SCHEMA |
| PERFORMANCE_SCHEMA |
| bookshop |
| mysql |
| test |
+--------------------+
Rules in database creation
- Follow the Database Naming Conventions and name your database meaningfully.
- TiDB comes with a default database named
test
. However, it is not recommended that you use it in a production environment if you do not have to. You can create your own database using theCREATE DATABASE
statement and change the current database using theUSE {databasename};
statement in a SQL session. - Use the
root
user to create objects such as database, roles, and users. Grant only the necessary privileges to roles and users. - As a best practice, it is recommended that you use a MySQL command-line client or a MySQL GUI client instead of a driver or ORM to execute database schema changes.
Next step
After creating a database, you can add tables to it. For more information, see Create a Table.
Need help?
Ask the community on Discord or Slack, or submit a support ticket.