MySQL使用查询结果生成临时表

MySQL中不支持对同一个表使用其查询结果更新or删除本表内数据(也就是update或delete后的where条件为针对相同表的select),解决方案是创建临时表做过度保存中间数据; 

可以直接使用查询结果来形成临时表

Sql代码  

  1. CREATE TABLE tmp AS

  2. (SELECT column1 AS field1, column2 AS field2...);

形成的结果表名称为
tmp 
表内的列为SELECT的查询结果,字段名称可以根据自己需要使用AS重命名

时间: 2024-12-23 12:29:10

MySQL使用查询结果生成临时表的相关文章

sql server 与 mysql 分页查询以及创建临时表的区别

一: 分页查询的时候 sql server使用的是top关键字,而mysql 使用的是limit e.g: 查询第五个到第十个入职的职员 sql server2000: select top 6 * from emp where empno not in (select top 4 empno from emp order by hiredate) order by hiredate; mysql: select * from emp order by hire date limit 4,6;

Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..

Atitit.mysql  oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server.. 1. with ... as (...) 在mysql中应该如何表示 1 2. 子查询和查询嵌套主要是便于可读性提升上, 2 3. MYSQL中的解决之道::临时表. 2 4. Seo黑头关键字替换链接的统计样品 2 4.1. //---------查询com网站的数量 2 4.2. //----------------------查询net网站的

MySql依据查询结果,生成insert、update语句

场景:之前有一次测试宣讲中,同事直接用Navicat从查找结果中,直接生成insert语句,支持批量生成语句. 可应用场景:自动化.性能测试初始化数据.直接从现有库中将需要的数据内容查询出来,再生成对应的insert语句,插入到对应的测试目标数据库中,减少由于手工手成数据的冗余工作和导表的误操作. 工具需求:Navicat 11.0.18(老版本好像没有这功能) 步骤: 写出要导出的sql脚本,运行查询 在生成的结果中,选中所需要导出的行(支持Ctrl.Shift按键功能) 选中结果后,右键在选

ELK分析MySQL慢查询日志并生成图像

一.背景 1.MySQL慢查询日志格式: # Time: 181109 15:04:08 # [email protected]: tvpayrcdev[tvpayrcdev] @ [172.16.14.51] Id: 8960747 # Query_time: 35.918265 Lock_time: 0.000141 Rows_sent: 1 Rows_examined: 11699162 SET timestamp=1541747048; select count(*) from trad

mysql基础查询语法

一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count().sum()等聚合函数一起使用. having子句(筛选):有group by才能having子句,只有满足“条件表达式”中指定的条件的才能够输出. order by子句(排序):按照“属性名”指定的字段进行排序.排序方式由“asc”和“desc”两个参数指出,默认是按照“asc”来排序,即升序.

MySQL慢查询的可能原因及解决思路

要有高性能的MySQL服务,不仅需要设计好的库表结构.好的索引,还需要有好的查询. 也就是说,一个慢查询的出现,可以从服务器.库表结构.索引.查询语句等方面着手. 对查询进行性能剖析有两种方式,一种是剖析服务器负载,另一种是剖析单条查询. 1.剖析服务器负载 1.1捕获慢查询 使用慢查询日志.慢查询日志是开销最低.精度最高的测量查询时间的工具,而且I/O开销可以忽略不计. 但如果长期开启慢查询日志,应部署好日志轮转(log rotation)工具.或者只在收集负载样本的期间开启. MySQL还有

MySql子查询(where、from、exists)及连接查询(left join、right join、inner join、union join)

目录 一.子查询 1.where型子查询:把内层查询的结果作为外层查询的比较条件 2.from型子查询:把内层的查询结果当成临时表,供外层sql再次查询.查询结果集可以当成表看待.临时表要使用一个别名. 3.exists型子查询:把外层sql的结果,拿到内层sql去测试,如果内层的sql成立,则该行取出.内层查询是exists后的查询. 4. any, in 子查询 子查询总结: 二.连接查询 1.全相乘(不是全连接.连接查询),全相乘是作笛卡尔积 2.左连接查询 left join ... o

mysql子查询慢的问题

当你在用explain工具查看sql语句的执行计划时,若select_type 字段中出现"DEPENDENT SUBQUERY"时,你要注意了,你已经掉入了mysql子查询慢的"坑"...下面我们来看一个具体的例子 有这样一条查询语句: SELECT gid,COUNT(id) as count FROM shop_goods g1 WHERE status =0 and gid IN (SELECT gid FROM shop_goods g2 WHERE si

Mysql——子查询

子查询的位置: select 中.from 后.where 中.group by 和order by 中无实用意义. 子查询分为如下几类: 1,标量子查询:返回单一值的标量,最简单的形式. 2,列子查询:返回的结果集是 N 行一列. 3,行子查询:返回的结果集是一行 N 列. 4,表子查询:返回的结果集是 N 行 N 列. 可以使用的操作符:= > < >= <= <> ANY IN SOME ALL EXISTS 标量子查询:是指子查询返回的是单一值的标量,如一个数字