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 */
廣告