示例:
INSERTINTOTPersonnelChange(
UserId,
DepId,
SubDepId,
PostionType,
AuthorityId,
ChangeDateS,
InsertDate,
UpdateDate,
SakuseiSyaId
)SELECT
UserId,
DepId,
SubDepId,
PostionType,
AuthorityId,
DATE_FORMAT(EmployDate,'%Y%m%d'),
NOW(),
NOW(),
1
FROM
TUserMstWHERE
`Status`=0
ANDQuitFlg=0
ANDUserId>2
扩展资料
mysql从一张表查数据并插入另一张表
INSERTINTOtable1(table1_field1,table1_field2,...)selecttable2_filed1,table2_field2,...fromtable2wherecondition1andcondition2...;
//一张表符合条件的数据插入另一张表对应字段中
insertintoshelve_goods_info(product_id,`name`,image,original_amount,amount,spec_id,spec_str,sync_time,last_updtime)selectDISTINCTproduct_id,`name`,image,original_amount,amount,spec_id,spec_str,sync_time,NOW()fromjingguo_order_goodsgroupbyproduct_idorderbysync_timedesc;
//根据一张表的数据修改另一张表的数据
updateshelve_goods_infoass,ttastsets.print_title=t.newname,s.price=t.newprice,original_price=Ceil(t.newprice*10/8)wheres.name=t.orname;
1. 表结构完全一样
insert into 表1
select * from 表2
2. 表结构不一样(这种情况下得指定列名)
insert into 表(列名1,列名2,列名3)
select 列1,列2,列3 from 表2
SQL是标准的查询语言,现在的数据库管理系统一般来说,都支持SQL,下面是从一张已存在的表中获取数据插入到另一张表中的SQL语句,已在MySQL5中测试通过,供你参考。
语法:INSERT INTO 要添加数据的表 ( SELECT 字段1,字段2,字段3,... FROM 有数据的表)
例如:假设在mysql中有用户表为users,结构为
字段 类型 整理 属性 空 默认 额外 操作
userid int(4) 否 无 auto_increment
username varchar(20) utf8_unicode_ci 否
password varchar(20) utf8_unicode_ci 否
该表中已有若干条记录,现另有一张用户表new_users,结构与上表完全一样,现将users表中的数据插入到new_users表中,实现该功能的SQL语句如下:
INSERT INTO new_users (
SELECT userid, username,
PASSWORD FROM users )
查询数据插入已经存在的表2中,用下面的语句
INSERT INTO(列名称)表1
SELECT 列名称 FROM 表2
查询数据插入不存在的表2中,用下面的语句
SELECT 列名称
INTO 表2
FROM 表1
做的时候建议评估一下数据量,以防将数据库日志顶满,如果数据量太多,在selet * from 表1后增加where条件,将数据范围缩小,分批导入