0

任何人都可以提供一个生成的示例 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');
4

3 回答 3

1

这将做你想要的:

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

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

但是,您当然需要针对您的架构调整它。

于 2013-07-29T14:34:54.267 回答
0

如果您想将现有数据再次插入到您的表中(正如您在问题中提到的那样),您可以编写如下 sql:

INSERT INTO country (NAME) SELECT NAME FROM COUNTRY;
于 2013-07-29T14:32:01.317 回答
0

您可以使用 mysqldump 归档您询问的内容,请尝试以下操作:

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

如果您有很大的表,请记住单次插入会比扩展的慢。

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

于 2013-07-29T14:36:18.257 回答