当我们要创建一张一模一样的表的时候我们不仅可以使用 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天,对数据库感兴趣的朋友欢迎一起讨论、交流,请多指教!