MySQL - SHOW CREATE DATABASE 语句



MySQL SHOW CREATE DATABASE 语句

此查询显示/展示用于创建指定数据库的语句。这将显示创建语句以及子句。

语法

以下是 SHOW CREATE DATABASE 语句的语法:

SHOW CREATE DATABASE [IF NOT EXISTS] database_name

其中,database_name 是数据库的名称。

示例

假设我们创建了一个数据库,如下所示:

CREATE DATABASE myDatabase;

以下查询显示用于创建数据库的查询:

Show CREATE DATABASE myDatabase;

输出

执行上述查询后,将生成以下输出:

数据库 创建数据库
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;

输出

以下是上述查询的输出:

数据库 创建数据库
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 Test

如果 CREATE DATABASE 语句中包含 IF NOT EXISTS 子句,则相应数据库的 SHOW CREATE DATABASE 语句的结果也包含 IF NOT EXISTS 子句。

SHOW CREATE DATABASE Test;

输出

上述查询产生以下输出:

数据库 创建数据库
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 查询的输出:

数据库 创建数据库
mydatabase CREATE DATABASE `mydatabase` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='Y' */ /* READ ONLY = 1 */
广告
© . All rights reserved.