插入检索出的数据——即从一个表插入到另外一张表
2013-11-27 03:04
288 查看
insert 一般用来给表插入一个指定列值的行,但是insert还存在另外一种形式,可以利用它将一条select语句的结果插入到表中,这就是所谓的insert select ,顾名思义,它是由一条insert语句和一条select语句组合成的
其中customers 和custnew 是两张表名,其中原表中cust_id是主键,例子重导入了cust_id(假如你能确保cust_id的值不重复)也可以见到省略这列,这样mysql会生成新值
注意
insert select 中的列名
上例中insert和select使用了相同的列名,但是,不一定要求列名匹配,事实上,mysql甚至不关心select返回的列名。它使用的是列的位置,因此select中的第一列(不管其列名是什么)将用来填充insert语句描述的列中指定的第一列,第二列将填充指定的第二列。
其中select语句中可以使用where子句来过滤要插入的数据
insert into customers ( cust_id, cust_name) select cust_id, cust_name from custnew;
其中customers 和custnew 是两张表名,其中原表中cust_id是主键,例子重导入了cust_id(假如你能确保cust_id的值不重复)也可以见到省略这列,这样mysql会生成新值
注意
insert select 中的列名
上例中insert和select使用了相同的列名,但是,不一定要求列名匹配,事实上,mysql甚至不关心select返回的列名。它使用的是列的位置,因此select中的第一列(不管其列名是什么)将用来填充insert语句描述的列中指定的第一列,第二列将填充指定的第二列。
其中select语句中可以使用where子句来过滤要插入的数据
相关文章推荐
- 从一张表中插入多条数据到另外一张表中
- Sql 从一张表查询数据插入到另外一张表中
- 从一张带自增长列的表中按条件导出数据,并将结果重新编号,插入到另外一张表的sql语句
- mysql数据库从一张表向另一张表插入数据
- SQL(二) 将一张表数据插入另外一张表
- mysql数据库操作(将一张表的数据插入到另外一张表中)
- 用sql从一张表更新数据到另外一张表(多表数据迁移)
- jqGrid从另外一张表向目标表插入数据
- 将一张表中数据插入到另外一张中的脚本
- SQL数据库中把一张表从一个数据库中插入到另外一个数据库的一张表里
- oracle insert 将一张表数据插入另外表中
- Mysql从一个表获取数据插入另外一个表[备忘]
- 30. 表单中子表格的数据插入到另外一张独立的表
- SQL数据库,如何把一张表从一个数据库中插入到另外一个数据库
- mysql插入数据之从一个表到另一张表
- 如何从一个表的数据更新到另外一个表的列或者插入
- 今天写了个从一张表数据插入到另一张表的oracle 语句
- SQL数据库,如何把一张表从一个数据库中插入到另外一个数据库?
- JDBC远程从一个MySql数据库中的一张表里面读出数据(这个数据库需要用SSH隧道连接,大约8W条数据),然后分别插入到另一个数据库中的两张表里
- 从表中插入数据到另外一张表