如何创建sql脚本,该脚本使用mysql/mssql中的表数据生成插入语句



任何人都能提供一个生成的示例sql脚本吗

有人能帮我吗。有没有一种方法可以创建一个脚本,为已有数据的表生成插入语句?

有一个表有这样的结构->Country[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');

这将实现您想要的功能:

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

样品:http://sqlfiddle.com/#!2/efb4c/2

然而,您当然需要根据您的模式对其进行调整。

如果您想将现有数据再次插入到表中(正如您在问题中提到的),那么您可以编写一个类似于的sql

INSERT INTO country (NAME) SELECT NAME FROM COUNTRY;

您可以使用mysqldump来归档您所要求的内容,请尝试以下操作:

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

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

另请参阅mysqldump上的文档:mysqldump--数据库备份程序

最新更新