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;
输出
执行上述语句后,将生成以下输出 -
Table | 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;
输出
以下是上述查询的输出 -
Table | Create Table |
---|---|
TestTable | CREATE TABLE `testtable` (`ID` int DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |