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

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 に答える
0

(質問で述べたように)既存のデータをテーブルに再度挿入する場合は、次のようなSQLを記述できます。

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