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

场景:之前有一次测试宣讲中,同事直接用Navicat从查找结果中,直接生成insert语句,支持批量生成语句。

可应用场景:自动化、性能测试初始化数据。直接从现有库中将需要的数据内容查询出来,再生成对应的insert语句,插入到对应的测试目标数据库中,减少由于手工手成数据的冗余工作和导表的误操作。

工具需求:Navicat 11.0.18(老版本好像没有这功能)

步骤:

  • 写出要导出的sql脚本,运行查询
  • 在生成的结果中,选中所需要导出的行(支持Ctrl、Shift按键功能)
  • 选中结果后,右键在选中行位置处选择“复制为”--“Insert 语句”【此时,对应的Insert已被复制】


此方法也可直接生成update语句

时间: 2024-10-12 08:07:59

MySql依据查询结果,生成insert、update语句的相关文章

idea 复制数据库查询结果,粘贴直接生成insert into 语句

遇到一个场景,需要将数据库查询的结果导入到另外一个数据库中,给我的第一感受是,写程序,从数据库A中获取到数据,在插入到数据库B中. 但是Idea 可以直接复制查询结果,然后粘贴生成insert语句. 演示如下:

如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]

输入表名,生成插入语句 drop proc proc_insert //如果存在就删除 go create proc proc_insert (@tablename varchar(256)) as begin set nocount on declare @sqlstr varchar(4000) declare @sqlstr1 varchar(4000) declare @sqlstr2 varchar(4000) select @sqlstr='select ''insert '[ema

mysql之DML(SELECT DELETE INSERT UPDATE)

DML:数据操作语言    INSERT    DELETE    SELECT    UPDATE SELECT:    SELECT SELECT-LIST FROM TBNAME|TBNAMES|SELECT ACTION QUALIFICATION SELECT-LIST 搜索清单            DISTINCT 去重,相同的值只显示一次.            AS ALIAS  字段别名            * 所有内容            FIELD 字段名      

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

MySQL中不支持对同一个表使用其查询结果更新or删除本表内数据(也就是update或delete后的where条件为针对相同表的select),解决方案是创建临时表做过度保存中间数据: 可以直接使用查询结果来形成临时表 Sql代码   CREATE TABLE tmp AS (SELECT column1 AS field1, column2 AS field2...); 形成的结果表名称为 tmp 表内的列为SELECT的查询结果,字段名称可以根据自己需要使用AS重命名

根据MySQL表数据导出INSERT INTO语句的方法

因项目中有需要需根据MySQL表数据生成INSERT INTO语句,在网上找了些现成的代码,原作者是谁就不知道了,但是发现有BUG,不能适用,遂对他人代码进行了修改.修改后能较好的导出INSERT INTO语句.代码如下: package dwz.interaction; import java.io.*; import java.sql.*; import java.util.ArrayList; import java.util.List; /** * Update by internetr

【MySql 大数据量快速插入和语句优化】

INSERT语句的速度 插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:(1x索引)关闭:(1)这不考虑打开表的初始开销,每个并发运行的查询打开. 表的大小以logN (B树)的速度减慢索引的插入. 加快插入的一些方法: · 如果同时从同一个客户端插入很多行,使用含多个VALUE的INSERT语句同时插入几行.这比使用单行INSERT语句快(在某些情况下快几倍).如果你正向一个非空表添加数据,可

UPDATE语句中SET部分列赋值的先后顺序有影响么?

昨天研发同事问我个问题,UPDATE语句中SET部分列赋值的先后顺序会影响结果么?以前没考虑过这个问题,因为通常我们都会UPDATE时给列赋予一个确定的值,而不是一个依赖于其他列的值. 测试环境: DROP TABLE TB1001; CREATE TABLE TB1001 ( ID INT PRIMARY KEY, C1 INT, C2 INT ); INSERT INTO TB1001 ( ID, C1, C2 ) SELECT 1,1,1 UNION SELECT 2,1,1; 更新语句为

MySQL之DML语句(insert update delete)

DML主要针对数据库表对象的数据而言的,一般DML完成: 插入新数据 修改已添加的数据 删除不需要的数据 1.insert into插入语句 //主键自增可以不插入,所以用null代替 insert into temp values(null, 'jack', 25); //指定列 insert into temp(name, age) values('jack', 22); 在表面后面带括号,括号中写列名,values中写指定列名的值即可.当省略列名就表示插入全部数据,注意插入值的顺序和列的顺

MySQL数据库insert和update语句

MySQL数据库insert和update语句 引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就 是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.U