MySQL CREATE DATABASE 创建数据库

在本文中,我们介绍了在 MySQL 服务器上使用 CREATE DATABASE 语句创建新数据库。

数据库是存储数据的容器。一个数据库中可以包含多个表。要想创建表,必须首先创建数据库。

在 MySQL 中,CREATE DATABASECREATE SCHEMA 语句用来创建数据库。

CREATE DATABASE 语法

CREATE DATABASE 语句用来创建数据库。以下是 CREATE DATABASE 语句的语法:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name]
[ENCRYPTION {'Y' | 'N'}]

说明:

  • CREATE DATABASECREATE SCHEMA 的是一样的。
  • CREATE DATABASE 后指定要创建的数据库的名字。
  • IF NOT EXISTS 表示在指定的数据库不存在的情况下才创建。它是可选的。
  • CHARACTER SET charset_name 指定数据库的字符集。它是可选的。默认使用数据库服务器的配置。
  • COLLATE collation_name 指定数据库的排序规则。它是可选的。默认使用数据库服务器的配置。
  • ENCRYPTION 指定数据库的是否加密。它是可选的。默认使用数据库服务器的配置。

MySQL 数据库命名的要求:

  • 数据库的名字最长为 64 个字符。名字的长度还取决于操作系统。
  • 数据库名可以由字母、数字、下划线、美元符号组成。

虽然语法看起来很复杂,但是最常用的就是下面的语句:

CREATE DATABASE db_name;

CREATE DATABASE 实例

以下我们通过 mysql 客户端工具创建一个名称为 newdb 的数据库。请按照以下步骤操作:

  1. 使用 root 用户登录 MySQL 数据库:

    mysql -u root -p
    

    根据提示输入 root 用户的密码。

    注意:您也可以使用其他任何具有创建数据库权限的用户登录。

  2. 查看当前服务器上的数据库列表

    SHOW DATABASES;
    
    +-----------------------+
    | Database              |
    +-----------------------+
    | information_schema    |
    | mysql                 |
    | performance_schema    |
    | sakila                |
    | sys                   |
    +-----------------------+
    5 rows in set (0.01 sec)
  3. 创建 newdb 数据库

    CREATE DATABASE newdb;
    
    Query OK, 1 row affected (0.02 sec)

    此处 1 row affected 表示已经成功创建了数据库。

  4. 通过查看当前服务器上的数据库列表验证是否创建成功。

    SHOW DATABASES;
    
    +-----------------------+
    | Database              |
    +-----------------------+
    | information_schema    |
    | mysql                 |
    | newdb                 |
    | performance_schema    |
    | sakila                |
    | sys                   |
    +-----------------------+
    6 rows in set (0.01 sec)

    从高亮的行,我们可以看出已经成功创建了 newdb 数据库。

  5. 最后,我们使用新创建的 newdb 数据库。

    USE testdb;
    
    Database changed

    这表明我们现在已经切换到 newdb 数据库了。现在我们就可以进行创建表、插入数据、检索数据等操作了。

查看创建数据库的信息

我们可以使用 SHOW CREATE DATABASE 语句查看创建数据库的信息。

SHOW CREATE DATABASE newdb;
+----------+---------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                                 |
+----------+---------------------------------------------------------------------------------------------------------------------------------+
| newdb    | CREATE DATABASE `newdb` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

从输出结果我们可以看出:

  • 我们使用 CREATE DATABASE ``newdb`` 命令了创建了数据库。
  • DEFAULT CHARACTER SET utf8mb4 表示默认的字符集是 utf8mb4
  • COLLATE utf8mb4_0900_ai_ci 表示默认的排序规则是 utf8mb4_0900_ai_ci
  • DEFAULT ENCRYPTION='N' 表示默认不启用加密。

结论

在本文中,我们讨论了在 MySQL 中使用 CREATE DATABASE 语句创建一个新数据库。本文要点如下:

  • CREATE DATABASECREATE SCHEMA 的是一样的。
  • CREATE DATABASE 后指定要创建的数据库的名字。
  • IF NOT EXISTS 表示在指定的数据库不存在的情况下才创建。它是可选的。
  • SHOW CREATE DATABASE 语句查看创建数据库的信息。
  • 如果不再需要此数据库,则可以删除数据库