当我们要创建一张一模一样的表的时候我们不仅可以使用 show create table+表名的方式查看建表源码的方式copy表我们还可以直接用代码copy,我总结了比较常用的三种copy表的方式
table_a表数据:

方式一:
# 方式一
CREATE TABLE table_a_copy4 LIKE table_a; # 复制表结构创建表
INSERT INTO table_a_copy SELECT * FROM table_a; # 复制数据并添加
# 查看表数据
SELECT * FROM table_a_copy;

# 查看表结构
SHOW CREATE TABLE table_a_copy;

方式一copy出来的表数据与结构跟原表都是一模一样的
方式二:
# 方式二
CREATE TABLE table_a_copy2 SELECT * FROM table_a;
# 查看表数据
SELECT * FROM table_a_copy2;

# 查看表结构
SHOW CREATE TABLE table_a_copy2;

方式二copy出来的表数据是相同的但表结构发生了改变,主键不见了,并且默认为'0'
方式三:
CREATE TABLE table_a_copy3 SELECT a_id AS id,a_name AS nm,
age AS ag,height AS ht,weight AS wt FROM table_a WHERE a_id>3;
# 查看表数据
SELECT * FROM table_a_copy3;

# 查看表结构
SHOW CREATE TABLE table_a_copy3;

方式三是方式二的进阶,多了改字段名与筛选
总结:
方法一通过两句sql语句可以复制出跟原表一模一样的表。方式二简洁,一句就可以复制整张表,但会改变表结构,在只关注数据做聚合报表的时候还是比较实用的。方式三是方式二的进阶,可以复制表并修改列名,其中的select语句是支持DQL(数据查询语言的)
打卡第9天,对数据库感兴趣的朋友欢迎一起讨论、交流,请多指教!
本文介绍了在数据库中复制表的三种常见方法:1) 使用CREATE TABLE LIKE + INSERT INTO,能完整复制表结构和数据;2) 直接CREATE TABLE SELECT,数据复制但可能丢失表结构,如主键;3) 改进版CREATE TABLE SELECT,可复制并重命名字段及筛选数据。每种方法各有适用场景,方式一适用于需要完全复制的情况,方式二适合只关注数据的场景,方式三则在需要调整字段名时使用。
710

被折叠的 条评论
为什么被折叠?



