zoukankan      html  css  js  c++  java
  • MySQL查询结果复制到新表(更新、插入)

    MySQL查询结果复制到新表(更新、插入):

    MySQL中可以将查询结果复制到另外的一张表中,复制的话通常有两种情况,一种是更新已有的数据,另一种是插入一条新记录。下面通过例子来说明。首先构建两个测试表。

    表t1:

    表t2:

    1、如果t2表中存在score值,将score更新到t1表中。方法如下:

    UPDATE t1,t2 SET t1.score = t2.score  WHERE t1.id = t2.id AND t2.score IS NOT NULL

    这就是将查询结果作为条件更新另一张表,当然,t2也可以是更为复杂的一个查询结果而不是一个具体的表。

    2、将t1表的username更新至t2表,将t2表的score更新至t1表。方法如下:

    UPDATE t1,t2 SET t1.score = t2.score,t2.username = t1.username WHERE t1.id = t2.id

    这个方法其实跟上面的方法类似,可以同时更新两个表的数据,即做表部分数据的互相复制、更新。

    3、将t2表的查询结果插入到t1表中。方法如下:

    INSERT INTO t1(id,username,score) SELECT t2.id,t2.username,t2.score FROM t2 where t2.username = 'lucy'

    前面两种方式是更新表的记录,这种方式是插入一条新的记录。其实,从脚本可以看出,这个方法就是将查询和插入两个步骤合二为一。

  • 相关阅读:
    设计模式之迭代模式
    CentOS8 上安装Docker
    设计模式之模板方法模式
    APP内嵌网页使用微信或支付宝的H5支付
    一、Mongodb安装和配置
    一台电脑上配置多个git的ssh key
    ELK搭建(docker环境)
    Elasticsearch7学习笔记
    java通过url获取音视频文件时长
    c语言之链表实现
  • 原文地址:https://www.cnblogs.com/super-chao/p/8383601.html
Copyright © 2011-2022 走看看