sql复制表结构和数据(拷贝表的sql命令)

mysql复制表结构和数据,主要有以下3种情况:

1、只复制表结构到新表

2、复制表结构和数据到新表

3、将一张表的数据复制插入到另一张已有表中

一、只复制表结构到新表

现在有一张名为【grade】的数据表,表结构如下:

sql复制表结构和数据(拷贝表的sql命令)

需求1:只复制原始表【grade】的表结构到新表【grade1】中

实现方法1:

CREATE TABLE 新表 LIKE 原始表

实例:CREATE TABLE grade1 LIKE grade

实现方法2:

CREATE TABLE 新表 SELECT * from 原始表 WHERE 1=2

实例:CREATE TABLE grade1 SELECT * FROM grade WHERE 1=2

注:where条件过滤,(1=2)条件为假,表示什么都不选择;(1=1)条件为真,表示全都选择,常用于程序中动态拼接sql语句。

以上2种方法,最后都可以实现,将原始表【grade】的表结构复制到新表【grade1】,结果如下:

二、复制表结构和数据到新表

原始表【grade】数据如下:

需求:将原始表【grade】的表结构和数据复制到新表【grade1】中

实现方法:

CREATE TABLE 新表 SELECT * from 原始表

实例:CREATE TABLE grade1 SELECT * FROM grade

注:select查询语句后面也可以跟条件,如(where 1=1)表示全部数据,(limit 3)表示复制3条数据等。

结果:

三、将一张表的数据复制到另一张已有表中

需求:将【grade】表的数据复制插入到表【grade3】中(两个表结构相同)。

实现方法:

INSERT INTO 已有表 SELECT * FROM 原始表

实例:INSERT INTO grade3 SELECT * FROM grade

注:select查询语句后面也可以跟条件,限制条数等。如果两个表结构不同,也可以只复制相应相同的字段,语法:

INSERT INTO grade3(字段1,…)SELECT * FROM grade(字段1,…)

结果:

—end—

发表评论

登录后才能评论