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
广告
© . All rights reserved.