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'
前面两种方式是更新表的记录,这种方式是插入一条新的记录。其实,从脚本可以看出,这个方法就是将查询和插入两个步骤合二为一。
MySQL查询结果复制到新表(更新、插入)的更多相关文章
- Mysql 复制一个新表
1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来 ...
- sql将查询结果建立为新表
1.sqlserver中,使用: select * into tab_new from tab_old SELECT * into anzhiresult from (select * from fa ...
- SQL在oracle和SQLserver将查询结果创建为新表的不同之处
------在SQL中,将查询的结果创建为新表是如下这样的 select distinct t1.column1,.t2.column2 into table3 from table1.t1 join ...
- Mysql查询的一些操作(查表名,查字段名,查当月,查一周,查当天)
查询数据库中所有表名 select table_name from information_schema.tables where table_schema='tools' and table_typ ...
- kettle表更新/插入更新
更新: 1.1更新表: 目标表: 插入更新: 2.1匹配表: 目标表: 插入/更新转换 目标表
- (笔记)Mysql命令insert into:向表中插入数据(记录)
insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...
- Mysql命令insert into:向表中插入数据(记录)
insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...
- mysql 查询数据库或某张表有多大(字节)
转载:https://www.cnblogs.com/diandiandidi/p/5582309.html 1.要查询表所占的容量,就是把表的数据和索引加起来就可以了 select sum(DATA ...
- Mysql查询特定值是哪些表哪些字段
摘自网上 -- 查询整个数据库中某个特定值所在的表和字段的方法 # flush tables; -- 创建表来存储查询结果 drop table if exists tmp_table; CREATE ...
随机推荐
- ReSharper 全教程
Resharper系列 更多关于Resharper的介绍 参考我之前的文章: Resharper 详细教程 提升ReSharper和Visual Studio的性能 Visual Studio中使用R ...
- iOS QQ分享图片无反应问题
受iOS 9 上 http 限制 需要在info.plist文件添加必要string <key>LSApplicationQueriesSchemes</key> <ar ...
- 错误:'dict' object is not callable
在晚上学习别人的代码,偶然爆出错误:'dict' object is not callable 找了半天没发现错误.后来还想上文已经有变量名为dict. 因此dict在下面程序中被认为是一个变量不是内 ...
- 积累jquery一些有意思的函数
$("#btn").unbind("click"); // 让btn这个元素的点击事件失效 $("#btn").unbind(); // 让 ...
- 【转载】IdentityServer4 使用OpenID Connect添加用户身份验证
使用IdentityServer4 实现OpenID Connect服务端,添加用户身份验证.客户端调用,实现授权. IdentityServer4 目前已更新至1.0 版,在之前的文章中有所介绍.I ...
- 跟我一起读postgresql源码(十一)——Executor(查询执行模块之——Materialization节点(上))
物化节点 顾名思义,物化节点是一类可缓存元组的节点.在执行过程中,很多扩展的物理操作符需要首先获取所有的元组后才能进行操作(例如聚集函数操作.没有索引辅助的排序等),这时要用物化节点将元组缓存起来.下 ...
- NOI2017&&codeM2017游记
7.17 坐了一天动车到绍兴,宿舍环境什么的还是很棒的. 7.18 早上开幕式,没啥好看的,例行节目+讲话. 下午笔试,顺利满分,不过ccz挂了一道多选,99分,影响应该不是很大. 练习赛出人意料地没 ...
- hdu_2087 剪花布条(kmp)
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 微信小程序监听input输入并取值
小程序的事件分为两种,冒泡和非冒泡事件,像<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件等非冒泡 ...
- [国嵌攻略][048][MMU配置与使用]
MMU配置与使用 1.通过点亮LED使用虚拟地址来使用MMU,采用段页映射方式 2.任务步骤:1.建立一级页表 2.写入TTB 3.打开MMU 代码编写 1.虚拟地址的段地址0xA0000000,一级 ...