将查询结果插入到其它表中

学习目标

  • 能够写出将查询结果插入到其它表中的SQL语句

1. 思考

目前只有一个goods表,我们想要增加一个商品分类信息,比如:移动设备这个分类信息,只通过goods表无法完成商品分类的添加,那么如何实现添加商品分类信息的操作?

答案:

  1. 创建一个商品分类表,把goods表中的商品分类信息添加到该表中。
  2. 将goods表中的分类名称更改成商品分类表中对应的分类id

2. 创建商品分类表

-- 创建商品分类表
create table good_cates(
    id int not null primary key auto_increment, 
    name varchar(50) not null
);

3. 把goods表中的商品分类添加到商品分类表

-- 查询goods表中商品的分类信息
select cate_name from goods group by cate_name;

-- 将查询结果插入到good_cates表中
insert into good_cates(name) select cate_name from goods group by cate_name;

-- 添加移动设备分类信息
insert into good_cates(name) values('移动设备');

说明:

  • insert into … select … 表示: 把查询结果插入到指定表中,也就是表复制。

4. 小结

  • 想要完成表复制可以使用: insert into … select … SQL语句