在MySQL中创build与其他表匹配的表?

我正在使用MySQL。 我有一个名为EMP的表,现在我需要创build一个具有相同模式,相同列和相同约束的表(EMP_TWO)。 我怎样才能做到这一点?

要基于另一个表结构/约束创build一个新表,请使用:

CREATE TABLE new_table LIKE old_table; 

要跨数据复制,如果需要的话,使用

 INSERT INTO new_table SELECT * FROM old_table; 

创build表格文档

当心LIKE选项的注意事项:

使用LIKE根据另一个表的定义(包括原始表中定义的所有列属性和索引)创build一个空表:

CREATE TABLE new_table LIKE original_table; 该副本是使用与原始表格相同版本的表格存储格式创build的。 原始表中需要SELECT权限。

LIKE仅适用于基表,不适用于视图。

CREATE TABLE … LIKE不保留为原始表或任何外键定义指定的DATA DIRECTORY或INDEX DIRECTORY表选项。

如果你只想复制Structure然后使用

 create table new_tbl like old_tbl; 

如果你想复制结构以及数据然后使用

 create table new_tbl select * from old_tbl; 

你为什么不这样做?

 CREATE TABLE new_table LIKE Select * from Old_Table; 

或者你可以像这样过滤数据

 CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1; 

为了在你的新表中首先有相同的约束,你将不得不创build模式,那么你应该去为模式创build的数据

 CREATE TABLE new_table LIKE Some_other_Table; 

在MySQL中创build与其他表匹配的表? 答:

 CREATE TABLE new_table AS SELECT * FROM old_table;