web-dev-qa-db-ja.com

PHPMyAdminでSQLテーブルを再作成するクエリを取得する方法

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

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

20
Borut Flis

mysqldumpはそれを行うことができます- http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

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

mysqldump [databasename] [tablename] > mysqltablesql.sql
13
liamgriffiths

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を使用します。

59
J.J.

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

7
Casey

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

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

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

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

2
Ashwin A

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

SQLを選択し、エクスポートタイプが「INSERT」に設定された「構造」(「テーブルの作成」コード)および「データ」(「挿入」コード)をエクスポートすることを確認します。

0
abarrington

mysqldumpの@liamgriffithsプロポーザルを使用しますが、create table <new-table-name> like <old-table-name>に続いてinsert into <new-table-name> select * from <old-table-name>を試すこともできます

0
sa125