数据库表对表操作之复制表数据

数据库表对表操作之复制表数据


个人网站:友书小说网(http://laiyoushu.com)绿色纯净无广告,欢迎大家前来看小说


一:目标表存在:

语法:insert 目标表 select 源表要复制的字段 from 源表
列:INSERT members_123 SELECT id,name,status,intro,position,lv,QQ FROM dbo.members
注:
members_123:目标表
members:数据源表
id,name,status,intro,position,lv...数据源表所有字段
也可以写成这样:INSERT members_123 SELECT * FROM dbo.members
用*代替所有字段,但是这种写法不规范
二:目标表不存在:
语法:select 需要复制的字段名 into 目标表 from 数据源表
列:SELECT * INTO members_1 FROM dbo.members
注:
members_1:目标表
members:数据源表


数据库表对表操作之大数据按需求将所需字段批量插入目标表


语法:insert into 目标表(需插入的所有字段) select (需插入的源字段) from 数据源表
注:
该语句可分为上下两句,分别是:
插  入  目  标  表:insert into 目标表(需插入的所有字段)
从数据源表提取数据:select (需插入的源字段) from 数据源表
写完后可先执行后面那句看能否从数据源表查出所需字段,提取的数据也不一定是完全要从源表提取也可以自己重新set
列:
INSERT INTO dbo.up_budget_item
( key_id ,budget_plan_id ,item_code ,item_desc ,value_source_type ,value_source ,value_methods ,fix_year ,fix_month ,effect_total_type_code ,display_order ,create_by ,create_dt ,last_update_by ,last_update_dt)
SELECT NEWID(),'e7c66dc0-3c7b-48fd-b912-ba6d89523d7a','ys_' + payitem_code,payitem_name_cn,'1001','','1000',NULL,NULL,'1001',display_order,'admin',GETDATE(),NULL,NULL FROM dbo.payitem
注:
newid,'e7c66dc0-3c7b-48fd-b912-ba6d89523d7a','1001'等数据是自己写死了的固定值,而不是从源表中提取的
'ys_' + payitem_code,:是将从原表提取出来的数据进行了拼接操作,批量的将所有从原表提取出来的payitem_code该数据前加了'ys_'






数据集拼接:


关键字:union 或 union all
区别:
union:若两数据集中有两条数据完全一致系统则会只保留一条数据,会自动去重复
union all:就算两数据集中有多条数据重复,系统也会将所有重复的数据保存在合并后的数据集中
列:
UNION ALL:
    SELECT 'a001' AS emp_code , '张三' AS chn_name UNION ALL
   SELECT 'a001' AS emp_code , '张三' AS chn_name
   结果:
 emp_code chn_name
   a001   张三
   a001   张三
UNION:
SELECT 'a001' AS emp_code , '张三' AS chn_name UNION 
        SELECT 'a001' AS emp_code , '张三' AS chn_name
结果:
emp_code chn_name
   a001   张三
注:还可以将拼接的结果集放入到临时表中,操作如下:
SELECT 'ys_ex_001' as payitem_code,'一次性忠诚奖' as payitem_name_cn,63 as display_order INTO #table1 union all 
select 'ys_ex_002' as payitem_code,'长期激励项' as payitem_name_cn,64 as display_order union all 
select 'ys_ex_003' as payitem_code,'短期激励项' as payitem_name_cn,65 as display_order union all 
select 'ys_ex_004' as payitem_code,'经济补偿金' as payitem_name_cn,66 as display_order union all 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纪寻川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值