MySQL 中根据已存在的表创建一张新表的方法

基于已存在表的结构创建另一个表:

 

复制表的所有数据:

 

CREATE TABLE 的官方文档链接。注意关于 LIKE 选项的描述:

使用 LIKE 基于另一个表的定义来创建一个空表,新表将包含原始表所有列的属性及索引:

使用 CREATE TABLE new_table LIKE original_table 来创建新表,新表将使用和原始表相同版本的表存储格式(table storage format)。在原始表上需要有 SELECT 权限。

LIKE 只能用于基表(base tables),不能用于视图(views)。

CREATE TABLE … LIKE 语句不会保留原始表自定义的表选项,数据文件夹(DATA DIRECTORY)或者索引文件夹(INDEX DIRECTORY)以及外键的定义(foreign key definations)。

 

参考链接:

  1. Create table in MySQL that matches another table? – Stack Overflow

发表评论

电子邮件地址不会被公开。 必填项已用*标注