mysql select query返回sql插入

时间:2014-08-11 19:35:47

标签: mysql

是否可以从mysql中选择,以便结果是insert语句?

我必须将“一些行”从我的在线数据库传输到我的开发工作站。这总是很多手工工作。

如果我能以某种方式,那将是伟大的:

select * from mytable where mycondition=myvalue AS SQL INSERT

并会得到类似

的内容
INSERT INTO mytable VALUES ( 1, 'foo' );
INSERT INTO mytable VALUES ( 2, 'bar' );
...

这可以用来复制并粘贴到我的本地数据库中。是(或类似的东西)可能吗?

编辑:我正在寻找一种简单/懒惰的解决方案,不需要太多努力。

EDIT2:mysqldump --where解决方案适用于我的问题和80%的“真实世界”用法,所以感谢您的回答。如果我可以使用完整的查询来选择行,那么我仍然可以使用连接或更改值。

2 个答案:

答案 0 :(得分:2)

是。您需要mysqldump实用程序才能完成此操作。

答案 1 :(得分:2)

使用CONCAT构建INSERT语句:

SELECT CONCAT("INSERT INTO mytable VALUES(", id, ", '", somecolumn, "');\n") AS sql_insert
FROM mytable
WHERE mycondition = myvalue