MySQL CREATE DATABASE 创建数据库
在本文中,我们介绍了在 MySQL 服务器上使用 CREATE DATABASE
语句创建新数据库。
数据库是存储数据的容器。一个数据库中可以包含多个表。要想创建表,必须首先创建数据库。
在 MySQL 中,CREATE DATABASE
和 CREATE 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 DATABASE
和CREATE SCHEMA
的是一样的。CREATE DATABASE
后指定要创建的数据库的名字。IF NOT EXISTS
表示在指定的数据库不存在的情况下才创建。它是可选的。CHARACTER SET charset_name
指定数据库的字符集。它是可选的。默认使用数据库服务器的配置。COLLATE collation_name
指定数据库的排序规则。它是可选的。默认使用数据库服务器的配置。ENCRYPTION
指定数据库的是否加密。它是可选的。默认使用数据库服务器的配置。
MySQL 数据库命名的要求:
- 数据库的名字最长为 64 个字符。名字的长度还取决于操作系统。
- 数据库名可以由字母、数字、下划线、美元符号组成。
虽然语法看起来很复杂,但是最常用的就是下面的语句:
CREATE DATABASE db_name;
CREATE DATABASE 实例
以下我们通过 mysql 客户端工具创建一个名称为 newdb
的数据库。请按照以下步骤操作:
-
使用
root
用户登录 MySQL 数据库:mysql -u root -p
根据提示输入
root
用户的密码。注意:您也可以使用其他任何具有创建数据库权限的用户登录。
-
查看当前服务器上的数据库列表
SHOW DATABASES;
+-----------------------+ | Database | +-----------------------+ | information_schema | | mysql | | performance_schema | | sakila | | sys | +-----------------------+ 5 rows in set (0.01 sec)
-
创建
newdb
数据库CREATE DATABASE newdb;
Query OK, 1 row affected (0.02 sec)
此处
1 row affected
表示已经成功创建了数据库。 -
通过查看当前服务器上的数据库列表验证是否创建成功。
SHOW DATABASES;
+-----------------------+ | Database | +-----------------------+ | information_schema | | mysql | | newdb | | performance_schema | | sakila | | sys | +-----------------------+ 6 rows in set (0.01 sec)
从高亮的行,我们可以看出已经成功创建了
newdb
数据库。 -
最后,我们使用新创建的
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 DATABASE
和CREATE SCHEMA
的是一样的。CREATE DATABASE
后指定要创建的数据库的名字。IF NOT EXISTS
表示在指定的数据库不存在的情况下才创建。它是可选的。SHOW CREATE DATABASE
语句查看创建数据库的信息。- 如果不再需要此数据库,则可以删除数据库。