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

原创 2017年05月02日 15:37:05
数据库表对表操作之复制表数据


个人网站:友书小说网(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 
版权声明:本文为博主原创文章,未经博主允许不得转载。

对orcale数据库中表的创建以及对表中数据的基本操作

1.在自己创建的用户方案下用sql语句创建表student,存放在users表空间中,用sql语句添加如下记录;   01     要求的约束条件有: ...

Oracle数据库对表数据的基本操作和Oracle字符串、数值、日期、空值操作及它们相对应的函数操作

一、Oracle数据库对表数据的基本操作   1.1 插入数据   insert into table_name(字段名)values(字段值);   1.2 修改数据         u...

Django 操作Mysql数据库 对表进行增删改查

Django 操作Mysql数据库 对表进行增删改查 摘要: Mysql 数据库 表的增删改查 首先说明:以下方法都是根据表已有的字段添加数据,若想新增字段,则需在类里面新建静态字段,...

【MySQL数据库开发之三】MySQL 获得数据库和表的信息、日期计算、对表的删除修改等操作!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/mysql/778.html          ...

jpa对表的crud操作

  • 2015年01月16日 23:37
  • 19KB
  • 下载

HBase在win7下eclipse中Java实现对表的操作报错解决

Linux系统安装了Hadoop2.5.2和Hbase-0.98.12 两者都是采用伪分布的方式进行安装。 package paic.hbase.com;   import java.io.IOExc...

对表中数据进行更新

  • 2011年11月29日 09:50
  • 22KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库表对表操作之复制表数据
举报原因:
原因补充:

(最多只允许输入30个字)