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中复制数据表中的数据到新表中的操作教程
MySQL是不支持SELECT - INTO语法的,使用INSERT INTO - SELECT替代相同用法,下面我们我们这里简答分一下新表存在和不存在两种情况,具体使用不同的语句. 1.新表不存在 复制表结构即数据到新表 create table new_table select * from old_talbe; 这种方法会将old_table中所有的内容都拷贝过来,用这种方法需要注意,new_table中没有了old_table中的primary key,Extra,auto_increm
-
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也可以是更为复杂的一个查询结果而不
-
将SQL查询结果保存为新表的方法实例
目录 Mysql 通过SQL命令复制表结构和数据 通过mysqldump命令复制表结构和数据 SQLServer 通过SQL命令复制表结构和数据 通过SQL命令复制复制表结构 Oracle 通过SQL命令复制表结构和数据 总结 Mysql 通过SQL命令复制表结构和数据 MySQL将sql查询的结果保存为一张新的表 # 从表old_table_name中查询数据,其中condition为条件,然后插入数据到一张新表中 create table new_table_name (select * f
-
MySQL快速复制数据库数据表的方法
某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如下: 1. 首先创建新的数据库newdb #mysql -u root -ppassword mysql>CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI; 2. 使用mysqldump及mysql的
-
利用python对Excel中的特定数据提取并写入新表的方法
最近刚开始学python,正好实习工作中遇到对excel中的数据进行处理的问题,就想到利用python来解决,也恰好练手. 实际的问题是要从excel表中提取日期.邮件地址和时间,然后统计在一定时间段内某个人在某个项目上用了多少时间,最后做成一张数据透视表(这是问题的大致意思). 首先要做的就是数据提取了,excel中本身有一个text to column的功能,但是对列中规律性不好的数据处理效果很差,不能分割出想要的数据,所以我果断选择用python来完成. 要用的库一个是对excel读写处理
-
MySQL之存储过程按月创建表的方法步骤
具体不多说,直接上代码.欢迎一起交流和学习. 创建一个按月创建表的存储过程,SQL语句如下: DELIMITER // DROP PROCEDURE IF EXISTS create_table_by_month // CREATE PROCEDURE `create_table_by_month`() BEGIN #--提前申明变量,后面会用到 DECLARE nextMonth varchar(20); DECLARE nextTABLE varchar(20); DECLARE csql
-
MySQL定期分析检查与优化表的方法小结
定期分析表 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] 本语句用于分析和存储表的关键字分布.在分析期间,使用一个读取锁定对表进行锁定.这对于MyISAM, BDB和InnoDB表有作用.对于MyISAM表,本语句与使用myisamchk -a相当. MySQL使用已存储的关键字分布来决定,当您对除常数以外的对象执行联合时,表按什么顺序进行联合. mysql> analyze table a; +--------
-
在oracle 数据库查询的select 查询字段中关联其他表的方法
大部分情况下,这种动态生成的sql查询语句写法如下: 复制代码 代码如下: select A表.字段1,A表.字段2,B表.字段返回,C表.字段返回 from A表 ,B表,C表 [where A表,B表,C表关联及各自的条件语句] 但是这个方法有一个缺点,那就是在动态的生成这个查询语句的业务逻辑程序仍然很复杂.这里就介绍一个降低业务逻辑复杂度的查询sql生成方式.其语法结构如下: 复制代码 代码如下: select A表.字段1,A表.字段2,B表.字段,C表.字段 from A表 [wher
-
关于mysql查询字符集不匹配问题的解决方法
发现问题 最近在工作中遇到一个问题,MySQL数据库建表的时候采用的是latin的字符集,而网页中查询的是utf-8,当输入页面输入中文,然后再数据库中查询的时候,就会报出 ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' 这个错误,所以在stackover flow 中找到了
-
mysql 导入导出数据库、数据表的方法
Linux下均在控制台下操作.导入数据库:前提:数据库和数据表要存在(已经被创建) (1)将数据表 test_user.sql 导入到test 数据库的test_user 表中[root@test ~]# mysql -uroot -p test < /www/web/test/test_user.sql (2) 将数据库 test.sql 导入到 test 数据库test 中[root@test ~]# mysql -uroot -p test < /www/web/test/test.sq
-
MySQL查询两个日期之间记录的方法
网上搜索出来的结果多是下面答案: MySQL中,如何查询两个日期之间的记录,日期所在字段的类型为datetime(0000-00-00 00:00:00) 解决方案: 直接使用><=就可以查询. where createDate<'2003-5-31' and createDate>'2003-2-30'; 其实简单美好的写法可以是这样的 where createDate between'2010-08-01' and '2010-08-19' 看完了之后,你是不是觉得后者比较
随机推荐
- mongodb错误tcmalloc: large alloc out of memory, printing stack and exiting解决办法
- 轻松搞定iOS远程消息推送
- 浅谈Java编程中的内存泄露情况
- jQuery将表单序列化成一个Object对象的实例
- PHP对象链式操作实现原理分析
- C#实现获取枚举中元素个数的方法
- C#词法分析器之词法分析的使用详解
- Android开发中Activity的生命周期及加载模式详解
- docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍
- PHP4和PHP5共存于一系统
- 在web中js实现类似excel的表格控件
- 详解使用Visual Studio Code对Node.js进行断点调试
- 2008年收集元旦祝福语 元旦祝福短信
- Python实现Linux中的du命令
- jquery一句话全选/取消全选
- node.js中的forEach()是同步还是异步呢
- 出错也不怕—Linux系统紧急情况处理方法
- MyBatis不同Mapper文件引用resultMap实例代码
- java不用循环语句打印数组元素的实例
- 详解springboot中redis的使用和分布式session共享问题