数据库是存储数据的容器。一个数据中可以包含多个表。要想创建表,必须首先创建数据库。
在 MySQL 中,CREATE DATABASE 和 CREATE SCHEMA 语句用来创建数据库。
CREATE DATABASE 语句用来创建数据库。以下是 CREATE DATABASE 语句的语法:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] <database_name>[CHARACTER SET <charset_name>][COLLATE <collation_name>][ENCRYPTION {'Y' | 'N'}]
语法说明:
| 关键字 | 参数 | 说明 | 是否可选 |
|---|---|---|---|
CREATE DATABASE 或 CREATE SCHEMA | <database_name> | 两者产生效果一致,参数为创建数据库的名称 | 必填 |
IF NOT EXISTS | - | 表示指定的数据库不存在的情况下才创建 | 可选 |
CHARACTER SET <charset_name> | <charset_name> | 指定数据库的字符集(默认使用数据库服务器的配置) | 可选 |
COLLATE <collation_name> | <collation_name> | 指定数据库的排序规则(默认使用数据库服务器的配置) | 可选 |
ENCRYPTION | 'Y' | 'N' | 指定数据库是否加密(默认使用数据库服务器的配置) | 可选 |
数据库命名要求:
虽然语法看起来复杂,但最常用的就是下面这句:
CREATE DATABASE <db_name>;
通过 SHOW CREATE DATABASE 语句查看创建数据库的信息。
SHOW CREATE DATABASE <db_name>;-- 输出+----------+----------------------------------------------------------------------------------------------------------------------------------+| Database | Create Database |+----------+----------------------------------------------------------------------------------------------------------------------------------+| db_name | CREATE DATABASE `db_name` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */|+----------+----------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)
从输出结果我们可以看出:
CREATE DATABASE db_name 命令了创建了数据库DEFAULT CHARACTER SET utf8mb4 表示默认的字符集是 utf8mb4COLLATE utf8mb4_0900_ai_ci 表示默认的排序规则是 utf8mb4_0900_ai_ciDEFAULT ENCRYPTION='N' 表示默认不启用加密