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

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. ABP前端-关于不同按钮调用同一事件传入的参数变为相同的数据

    现象: 在一个含有的Tab标签的页面,两个标签页的新增按钮调用同一个新增事件并传入不同的参数,但实际在调用的的时候传入的参数都变成了最后一个按钮传入的值,即,不论点击哪个Tab按钮的新增事件,最终传入 ...

  2. dubbox的小案例

    什么是Dubbox: Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架.作为一个重要的技术研究课题,在当当网根据自身的需求,为D ...

  3. Tensor的合并与分割

    先来看一下有哪些接口用来进行张量的合并与分割: tf.concat用来进行张量的拼接,tf.stack用来进行张量的堆叠,tf.split用来进行张量的分割,tf.unstack是tf.split的一 ...

  4. 基于TCP协议Socket通信

    服务器线程处理类 package demo4; import java.io.*; import java.net.Socket; /** * 服务器线程处理类 * @ClassName Server ...

  5. PAT 基础编程题目集 6-7 统计某类完全平方数 (20 分)

    本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144.676等. 函数接口定义: int IsTheNumber ( const int N ); 其中 ...

  6. A Bug's Life____并查集

    English preparation: falsify     伪造:篡改:歪曲:证明...虚假 the sexual behavior of a rare species of bugs. 一种稀 ...

  7. 1级搭建类102-Oracle 11g 单实例 FS(11.2.0.4+RHEL 7)公开

    项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...

  8. 封装 axios

    大家是否有印象,在开发项目中,我们往往会把axios给封装起来,写在一个js文件夹里,最后引入的也是js文件夹,而不是直接对axios进行操作,那为什么? 1. 如果一个组件需要请求数据,就要用到ax ...

  9. yii2 分页

    基于数据提供者 public function actionIndex() { $page = Yii::$app->get('page', 0); $modelClass = $this-&g ...

  10. redis安装并设置开机启动

    1.下载并上传redis安装包至linux服务器目录:/usr/local/redis. 2.解压:tar -zxvf redis-5.0.7.tar.gz 3.编译安装:make && ...