MySQL - SHOW CREATE TABLE 語句



MySQL SHOW CREATE TABLE 語句

此查詢顯示用於建立指定表的語句。它顯示建立語句以及子句。

語法

以下是 SHOW CREATE TABLE 語句的語法:

SHOW CREATE TABLE [IF NOT EXISTS] table_name

其中,table_name 是表名。

示例

假設我們建立了一個數據庫,如下所示:

CREATE TABLE Employee(
   Name VARCHAR(255),
   Salary INT NOT NULL,
   Location VARCHAR(255)
);

以下查詢顯示用於建立資料庫的查詢:

SHOW CREATE TABLE Employee;

輸出

執行上述操作後,將生成以下輸出:

建立表
員工 CREATE TABLE `employee` ( `ID` int NOT NULL, `Name` varchar(255) DEFAULT NULL, `Salary` int NOT NULL, `Location` varchar(255) DEFAULT NULL, `Address` varchar(50) DEFAULT NULL, `Phone` int DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `con` (`Phone`), CONSTRAINT `MyPrimaryKey` FOREIGN KEY (`ID`) REFERENCES `test` (`ID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

IF NOT EXISTS 子句

如果嘗試建立名稱已存在的表,則會生成錯誤:

CREATE TABLE Employee(ID int);
ERROR 1050 (42S01): Table 'employee' already exists

如果使用IF NOT EXISTS子句以及 CREATE 語句(如下所示),則會建立一個新表;如果已經存在具有給定名稱的表,則會忽略該查詢。

CREATE TABLE IF NOT EXISTS Employee(ID int);

如果 CREATE TABLE 語句中包含 IF NOT EXISTS 子句,則相應資料庫的 SHOW CREATE TABLE 語句的結果也包含 IF NOT EXISTS 子句。

Show create table TestTable;

輸出

以下是上述查詢的輸出:

建立表
TestTable CREATE TABLE `testtable` (`ID` int DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
廣告