如何在mysql / mssql中创建使用表数据生成insert语句的sql脚本

时间:2013-07-29 14:23:24

标签: mysql sql tsql

任何人都可以提供生成

的示例sql脚本

任何人都可以帮助我。 有没有办法创建一个脚本,为已有数据的表生成插入语句?

有一个具有这种结构的表格 - > 国家/地区[id(int pk),name(nvarchar)] 生成此类和输出的脚本将如何显示?

输出:

INSERT INTO country (NAME) VALUES ('canada');

INSERT INTO country (NAME) VALUES ('england');

INSERT INTO country (NAME) VALUES ('italy');

INSERT INTO country (NAME) VALUES ('spain');

3 个答案:

答案 0 :(得分:1)

这会做你想要的:

select concat ("insert into `Country` (`country`) values (\"", country, "\");") from Country order by id;

示例:http://sqlfiddle.com/#!2/efb4c/2

但是,您需要根据您的架构调整它。

答案 1 :(得分:0)

如果你想将现有数据再次插入到你的表中(正如你在问题中提到的那样),那么你可以写一个像这样的SQL:

INSERT INTO country (NAME) SELECT NAME FROM COUNTRY;

答案 2 :(得分:0)

您可以使用mysqldump存档您提出的问题,请尝试以下操作:

mysqldump -u username -ppassword --skip-triggers --compact --no-create-info --extended-insert=FALSE databasename tablename1 tablename2 ... 

如果您有大表,请记住单个插入比慢扩展慢。

另请参阅mysqldump上的文档:mysqldump — A Database Backup Program