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

原创 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 
版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle之复制表数据

INSERT INTO blacklist( ID,        PHONENO,        BLACKCUST,        VALIDCUST,        VEHICLENO,...
  • zkn_CS_DN_2013
  • zkn_CS_DN_2013
  • 2014年03月04日 17:41
  • 496

如何对表操作进行监控

如何对表操作进行监控我们在跟踪定位一些系统问题的时候,经常需要知道哪些地方对一个表进行了操作,查询代码很麻烦,其实有一个简单的方法,就是跟踪表,如下语句,就可以给表t_table增加监控了。BEGIN...
  • sunlen
  • sunlen
  • 2007年12月28日 09:53
  • 1947

数据库表操作总结

 修改已建好的数据表 (1) 修改列的数据类型    alter    table   student_inf   alter   column    student_name   nvarchar(...
  • sunxing007
  • sunxing007
  • 2009年07月29日 15:41
  • 2594

数据库操作之复制表结构方法

Oracle数据库和MSSql的数据库表结构复制差距非常大:   Oracle: create table target_table_name as select col...
  • wsl888444
  • wsl888444
  • 2012年12月12日 11:30
  • 416

Oracle 对表空间无操作权限

grant unlimited tablespace to XXX;
  • qq_36722039
  • qq_36722039
  • 2018年01月12日 20:20
  • 61

SQL2000中如何在两个数据库之间复制表(包括其中的数据)

 打开SQL查询分析器,在新建的文件中输入 insert   into   AUTOTEST2..ControlValueInfo  select   *   from   AUTOTEST..Con...
  • Daisy423XU
  • Daisy423XU
  • 2006年10月16日 15:16
  • 7826

sql server中格式化表中的数据

         在数据库开发中,由于用户录入信息的随意性,可能产生表内字符串类型的数据两端存有空格,或大小写不一致等现象,给以后数据应用过程中造成不必要的麻烦。这里简单使用了一个存储过程来解决这些问...
  • fwtandpj
  • fwtandpj
  • 2005年01月04日 11:45
  • 618

对SQL简单介绍、数据库、表的简单操作

1.SQL语句简单介绍: SQL(结构化查询语言(Structured Query Language))包含6个部分(数据查询语言DQL、数据操作语言DML、数据定义语言DDL、事务处理语言TPL、...
  • caidie_huang
  • caidie_huang
  • 2016年10月06日 12:22
  • 460

sql中对表的操作

/*drop  database max*/create database maxgouse maxgocreate table course (  course_id char(6)  not nu...
  • dongguang1082
  • dongguang1082
  • 2009年10月29日 15:00
  • 617

数据源间表的复制--java实现(lp)

 一、Table or Result To ArrayList    将数据源connA中的tableName表的内容查询出来放到一个ArrayList中。       private static ...
  • lip8654
  • lip8654
  • 2008年01月10日 18:00
  • 1867
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库表对表操作之复制表数据
举报原因:
原因补充:

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