MySQL - SHOW CREATE DATABASE 语句
MySQL SHOW CREATE DATABASE 语句
此查询显示用于创建指定数据库的语句。这将显示创建语句及其子句。
语法
以下是 SHOW CREATE DATABASE 语句的语法 -
SHOW CREATE DATABASE [如果不存在] database_name
其中,database_name 是数据库的名称。
示例
假设我们创建了一个如下所示的数据库 -
CREATE DATABASE myDatabase;
以下查询显示用于创建数据库的查询 -
Show CREATE DATABASE myDatabase;
输出
执行上述查询后,将生成以下输出 -
Database | Create Database |
---|---|
sampleDatabase | CREATE DATABASE `sampleDatabase` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
在 alter 语句之后
使用 ALTER 语句更改数据库特性后,SHOW CREATE DATABASE 语句会显示查询及其特性。
示例
假设我们已更改上面创建的数据库,如下所示 -
ALTER DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci ENCRYPTION = 'Y' READ ONLY = 1;
您可以验证已创建数据库的特性,如下所示 -
SHOW CREATE DATABASE mydatabase;
输出
以下是上述查询的输出 -
Database | Create Database |
---|---|
mydatabase | CREATE DATABASE `mydatabase` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='Y' */ /* READ ONLY = 1 */ |
IF NOT EXISTS 子句
如果您尝试创建具有现有名称的数据库,则会生成错误 -
CREATE DATABASE myDatabase; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 10 Current database: sampledb ERROR 1007 (HY000): Can't create database 'mydatabase'; database exists
如果您将 IF NOT EXISTS 子句与 CREATE 语句一起使用(如下所示),则会创建一个新的数据库;如果指定名称的数据库已存在,则查询将被忽略。
CREATE DATABASE IF NOT EXISTS 测试
如果 CREATE DATABASE 语句中包含 IF NOT EXISTS 子句,则相应数据库的 SHOW CREATE DATABASE 语句的结果也包含 IF NOT EXISTS 子句。
SHOW CREATE DATABASE Test;
输出
上述查询产生以下输出 -
Database | Create Database |
---|---|
Test | CREATE DATABASE `Test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
示例
您可以在一个查询中使用所有选项,如下所示 -
ALTER DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci ENCRYPTION = 'Y' READ ONLY = 1;
您可以验证已创建数据库的特性,如下所示 -
SHOW CREATE DATABASE mydatabase;
输出
以下是上述 mysql 查询的输出 -
Database | Create Database |
---|---|
mydatabase | CREATE DATABASE `mydatabase` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='Y' */ /* READ ONLY = 1 */ |