公司业务需要,在对表进行操作的时候将操作人和操作记录记录到日志表里.记录下来以供参考和学习. 首先准备两张测试表:Info以及InfoLog 1.表结构相同的情况下: insert into InfoLog select * from Info 2.表结构不同的情况下,我们只需要指定列就可以: insert into InfoLog(ID,[Name]) select ID,[Name] from Info 执行结果如下: --指定的数
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; insert into insertTest select * from insertTest2; 2.如果只希望导
1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert into tab1 select * from tab2; 3.同一个表中,将A字段的指赋给B字段: update table_name set B = A; 4. 将一个表的字段数据插入到另一个表的字段数据中 insert into XTHAME.tab1(pk_bdversion,vbdco
sql将一个表中的数据插入到另一个表中 列名不一定要相同,只要你在HH中列出要插入列的列表跟select from mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的. 比如: insert into hh (fielda,fieldb,fieldc) select fieldx,fieldy,fieldz from mm ---更新计量点中不存在的数据,将台帐中的信息转移到计量点中 insert into MetricP
下面两中方式都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的: 方式一 (select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建. select * into destTbl from srcTbl 方式二 (insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量,如例中的:5.特别注意的是:插入的字段顺序要和查询出的字段顺序一致
示例一: 从数据库表A中查询出数据插入到数据库表B 从数据库DataBaseA的表TDA中查询出数据插入到数据库DataBaseB的表TDB insert into [DataBaseA].[dbo].[TDA] (ID,NAME) select ID,NAME from [DataBaseB].[dbo].[TDB] 示例二: 从数据库DataBaseA的表TDA查询出数据列NAME,根据D将对应数据更新到数据库DataBaseB的表TDB的列NAME中. update a set a.NAM
列名不一定要相同,只要你在HH中列出要插入列的列表跟select from mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的. 比如:insert into hh (fielda,fieldb,fieldc) select fieldx,fieldy,fieldz from mm ---更新计量点中不存在的数据,将台帐中的信息转移到计量点中 insert into MetricPoints (MeterID,MetricPointNam
先从历史表中查询最新的一个语句: select t.id from ( select r.*, row_number() over(partition by r.分组字段 order by r.排序时间 desc) rw from 表A r ' ) t 下面是完整语句:需要插入的表中字段要和下面查询语句字段对应上 insert into uav_flight_real_location (ID,LOCATION_TIME,GPS_LONGITUDE) select sys_guid() as i
声名:a,b ,都是表 复制代码代码如下: --b表存在(两表结构一样) insert into b select * from a 若两表只是有部分(字段)相同,则 复制代码代码如下: insert into b(col1,col2,col3,col4,...) select col1,col2,col3,col4,... from a where... 把表a插入到表b中去. 复制代码代码如下: --b表不存在 select * into b from a // select (
1. 表结构完全一样 insert into 表1 select * from 表2 2. 表结构不一样(这种情况下得指定列名) insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2 3.只从另外一个表取部分值 insert into 表1 (列名1,列名2,列名3) values(列1,列2,(select 列3 from 表2));
可以通过存储过程完成,也可以通过在库名上右击“新建查询”执行.语句其实基本相同. 1. 存储过程: CREATE PROCEDURE pro1 as insert into tableB (field1,field2,field3,field4) select field1,field2,field3,'val4' from tableA where field1='val1' 然后执行,刷新“存储过程”,在新建的存储过程“pro1”上右击“执行存储过程”即可. 如果存储过程写为: PROCED
1. 表结构一样 insert into 表1 select * from 表2 2. 表结构不一样 insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2 3.只从另外一个表取部分字段 insert into 表1 (列名1,列名2,列名3) values(列1,列2,(select 列3 from 表2));