sql中将一个表插入到另一个表的 有很多种,这里介绍两种最常用的 :insert into和select into。
insert into
insert into语法格式为:
insert into 目标表名 (字段1,字段2,...)select 字段1,字段2,... from 源表名
其中,目标表名是要将数据插入到的目标表,字段1,字段2,...是要插入的目标表中的字段,源表名是要从其中读取数据的源表。
例如,将表tb1中的数据插入到表tb2中,可以使用以下sql语句:
insert into tb2 (字段1,字段2,...)select 字段1,字段2,... from tb1
select into
select into语法格式为:
select * into 目标表名 from 源表名
其中,*表示选择源表中的所有字段,目标表名是要将数据插入到的目标表,源表名是要从其中读取数据的源表。
select into语法实际上是insert into语法的一种简写形式,其本质上还是使用insert into语法将数据插入到目标表中。
需要注意的点
在使用sql将表插入到表时,需要注意以下几点:
1. 目标表的字段数量和类型必须与源表的字段数量和类型保持一致。
2. 如果目标表中存在与源表中相同名称的字段,则在插入数据时,目标表中的字段值会被源表中的字段值覆盖。
3. 如果源表和目标表中存在主键约束,则在插入数据时,主键字段的值不能重复。
4. insert into和select into操作都是不可逆的,一旦数据 入到目标表中,就无法直接从目标表中删除这些数据。