23

MySQLサーバーにテーブルがあり、テーブルを再作成するSQLを取得したいと思います。

SQLテーブルを再作成するためのクエリを取得するにはどうすればよいですか?

4

6 に答える 6

65

MySQL はSHOW CREATE TABLE、テーブルの作成に使用された SQL を返すことをサポートしています。

彼らのドキュメントから:

mysql> SHOW CREATE TABLE t;
CREATE TABLE t (
  id INT(11) default NULL auto_increment,
  s char(60) default NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM

これは、サーバー上の CLI ではなく、DB に接続するだけの場合に役立ちます。CLI がある場合は、liamgriffiths が推奨するように mysqldump を使用します。

于 2011-08-08T14:38:14.800 に答える
16

mysqldump で実行できます - http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

次のように使用できます。

mysqldump [databasename] [tablename] > mysqltablesql.sql
于 2011-08-08T14:14:55.050 に答える
8

phpMyAdmin を使用している場合は、テーブルを選択して [エクスポート] タブをクリックします。出力タイプの 1 つは SQL です。これを選択すると、テーブルを作成し、現在テーブルにあるすべてのデータを挿入するための SQL スクリプトが生成されます。ダンプデータオプションの下で「構造とデータ」を選択していることを確認してください

于 2011-08-08T14:13:51.727 に答える
2

mysqldump [オプション] データベース [テーブル]>backup-file.sql

テーブルを指定しないか、 --databases または --all-databases を使用しない場合、データベース全体がダンプされます。

mysqldump --help を実行すると、お使いのバージョンの mysqldump がサポートするオプションのリストを取得できます。

--quick または --opt を指定せずに mysqldump を実行すると、mysqldump は結果をダンプする前に結果セット全体をメモリにロードすることに注意してください。大きなデータベースをダンプしている場合、これはおそらく問題になるでしょう。

于 2011-08-09T10:55:01.077 に答える
1

phpMyAdmin にアクセスできる場合は、必要なテーブルの [エクスポート] タブからこのコードを取得できます。

SQL を選択し、「構造」(「CREATE テーブル」コード) と「データ」(「INSERT」コード) をエクスポート タイプを「INSERT」に設定してエクスポートします。

于 2011-08-08T14:13:33.100 に答える
0

@liamgriffiths の の提案を使用しますが、続けてmysqldump試すこともできますcreate table <new-table-name> like <old-table-name>insert into <new-table-name> select * from <old-table-name>

于 2011-08-08T14:38:17.807 に答える