项目运用情景:新建表需要原表的数据

1. 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:

INSERT INTO  目标表  SELECT  * FROM  来源表 ;

例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:

INSERT INTO  newArticles  SELECT  * FROM  articles ;

2. 如果只希望导入指定字段,可以用这种方法:

INSERT INTO  目标表 (字段1, 字段2, ...)  SELECT   字段1, 字段2, ...   FROM  来源表 ;  注意后面是没有括号的

请注意以上两表的字段必须一致,否则会出现数据转换错误。

3.项目运用  : A为新建档案表, B为原有档案表主表

INSERT INTO A(
pk_sr_main,
xzqh,
mhz,
mhzsfz
) SELECT
pk_sr_main,
xzqh,
mhz,
mhzsfz
FROM
B
WHERE
mhzsfz = '332627196510082957';

------------------------------------------------------------------

INSERT INTO A (
sys_spzt,
sys_djzt,
sys_scbj,
mdjlx,
pk_sr_main
) SELECT
(
CASE
WHEN bzzt = '在保' THEN
1
ELSE
4
END
) AS sys_spzt,
(
CASE
WHEN bzzt = '在保' THEN
1
ELSE
0
END
) AS sys_djzt,
0 AS sys_scbj,
'aa' AS mdjlx,
? AS pk_sr_main
FROM
B
WHERE
pk_sr_main = ? ";

---------------------------------------------------------

INSERT INTO 新建表(
pk_sr_main,
fk_sr_zjff_main,
sys_xzqh,
xzqh,
mhz,
mhzsfz,
BTFFJE
) SELECT
nextval ('id'),
'e1a20dc7-b3e8-4cff-8451-aa372a57300d',
a.sys_xzqh,
a.xzqh,
a.mhz,
a.mhzsfz,
CASE
WHEN b.myhzh IS NOT NULL THEN
b.mkhyh
ELSE
a.mkhyh
END AS mkhyh,
CASE
WHEN b.myhzh IS NOT NULL THEN
b.mkhr
ELSE
a.mkhr
END AS mkhr,
CASE
WHEN b.myhzh IS NOT NULL THEN
b.myhzh
ELSE
a.myhzh
END AS myhzh,
CASE
WHEN b.mjjzbh IS NOT NULL THEN
b.mjjzbh
ELSE
a.mjjzbh
END AS mjjzbh,
'0.0'
FROM
原有表A a
LEFT JOIN 原有表A b ON (
b.sys_xzqh LIKE concat('330101', '%')
AND b.sys_spzt = 1
AND b.sys_djzt = 1
AND b.mdjlx = 'mj_jjzg'
AND b.sys_scbj = 0
AND b.sjbfnf = '2020'
AND b.sjbfyf = '02'
AND a.sjbfyzj = b.sjbfyzj
)
WHERE
a.sys_xzqh LIKE concat('330101', '%')
AND a.sys_spzt = 1
AND a.sys_djzt = 1
AND a.mdjlx = 'mj_jjzg'
AND a.sys_scbj = 0
AND a.sjbfnf = '2020'
AND a.sjbfyf = '02'

新建表需要原表的数据,mysql 如何把查询到的结果插入到新表中的更多相关文章

  1. mysql 查询去除空格字符然后倒入新表

    /* 导入数据的时候,有空白字符,去除一下然后导出. 四年前干的事,现在再干一遍. */ $dbhost= '127.0.0.1'; $dbuser= 'root'; $dbpass= '123456 ...

  2. 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死

    Sun shine  16:15:55 帅哥  我有个手机表 大约有700百数据,,每天新增 大约五万,并且新也有update 大约10万  然后 我每晚 把当天的数据select 导入一个新表中的时 ...

  3. 最简单MySQL教程详解(基础篇)之多表联合查询

    在关系型数据库中,我们通常为了减少数据的冗余量将对数据表进行规范,将数据分割到不同的表中.当我们需要将这些数据重新合成一条时,就需要用到我们介绍来将要说到的表连接. 常用术语冗余(Redundancy ...

  4. ABAP 动态备份自建表数据到新表(自建表有数据的情况下要改字段长度或者其他)

    当abaper开发好一个程序给用户使用一段时间后,发现某个字段的长度需要修改,但数据库表中已经存在很多数据,冒然直接改表字段可能会导致数据丢失,这种问题的后果可能非常严重. 所以我想到先复制出一个新表 ...

  5. 百万级数据 MySQL处理(转)

    转自 http://www.cnblogs.com/win7xt/p/3156334.html 使用MySQL处理百万级以上数据时,不得不知道的几个常识   最近一段时间参与的项目要操作百万级数据量的 ...

  6. SQL Server 2017 SELECT…INTO 创建的新表指定到文件组

    原文:SQL Server 2017 SELECT-INTO 创建的新表指定到文件组 SELECT-INTO 在 SQL Server 中也是常见的一个功能,过去用此方法创建的新表只能存储到默认的文件 ...

  7. mysql复制表数据或表结构到新表中

    MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制表结构到新表 C ...

  8. MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据

    记录通过.frm和.ibd文件恢复数据到本地 .frm文件:保存了每个表的元数据,包括表结构的定义等: .ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per ...

  9. {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析

    MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...

随机推荐

  1. mysql 表分区操作

    //不支持动态创建分区CREATE TABLE `rpt_exp_event_bucket_creative_d_across` ( `bucket_id` VARCHAR(200) NOT NULL ...

  2. Python 【图片转字符画】

    一.安装的第三方模块 $ sudo pip3 install --upgrade pip $ sudo pip3 install pillow //window pip3 install pillow ...

  3. idea 阿波罗(apollo)设置

    项目启动时需要配置环境

  4. Windows添加管理员用户

    使用命令提示符添加用户并提升管理员权限 net user 查看当前所有系统用户 net user dan 123456 /add 添加用户名为dan 密码为123456的用户 net localgro ...

  5. IIS搭建负载均衡WebFarm+Arr

    本文所述仅针对IIS7.0或更高版本 一.IIS简介 IIS( Internet Information Services),微软官方Windows平台上面web容器服务.支持http协议和ftp协议 ...

  6. [SCOI2015]情报传递[树剖+主席树]

    [SCOI2015]情报传递 题意大概就是 使得在 \(i\) 时刻加入一个情报员帮您传情报 然后询问 \(x,y,c\) 指 \(x\)到\(y\)多少个人有风险-(大于c)的都有风险-每天风险值+ ...

  7. 移动端display:flex

    移动端display:flex布局时候,子元素有背景颜色时候,背景颜色不能铺满,有缝隙, // less .t-flex { background: blue; display: flex; > ...

  8. pandas 将多个dataframe保存为一个excel文件的多个sheet表中

    # 创建文件 def create(): df1 = pd.DataFrame({"a1": [1, 2, 3], "b1": [4, 5, 6]}) df2 ...

  9. [CF1303G] Sum of Prefix Sums - 点分治,李超线段树

    给定一棵 \(n\) 个点的带点权的树,求树上的路径 \(x_1,...,x_k\) ,最大化 \(\sum_{i=1}^k ia_{x_i}\) Solution 树上路径问题可用点分治. 考虑如何 ...

  10. 135.在django中操作cookie

    操作cookie 设置cookie 设置cookie是设置值给浏览器的,因此我们可以通过response的对象来设置,可以通过HttpResponse的对象或者是HttpResponseBase的子类 ...