2011-08-08 15 views
17

可能性の重複SQLテーブルを再作成するでしょうクエリを取得する方法:
how to take backup of a single table in the mysql database?PHPMyAdminのに

私はMySQLサーバ上のテーブルを持っているし、再作成するでしょうSQLを取得したいと思いをテーブル。

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

+2

コマンドラインから: 'mysqldump -u yourlogin -p your_database your_tablename'。パスワードを入力すると、create table文が表示されます。 phpmyadmin GUIから取得したい場合は、次のクエリを実行してください: 'show create table your_tablename' –

答えて

0

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

SQLを選択し、エクスポートタイプを「INSERT」に設定して「構造」(「CREATE TABLE」コード)および「データ」(「INSERT」コード)をエクスポートすることを確認します。

6

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

50

MySQLはSHOW CREATE TABLEをサポートしますテーブルを作成するために使用されました。そのドキュメントから

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を使用してください。

+0

これは期待した結果の一部であったと思われる行をコピーすることを扱っていません。 –

+3

これは*本当に良いです - 最高の答えになるはずです! – Haudegen

0

「私はmysqldumpの@liamgriffiths案で行くと思いますが、あなたはドン場合もinsert into <new-table-name> select * from <old-table-name>

2

mysqldumpを[オプション]データベース[テーブル]> [バックアップ-file.sql

続いcreate table <new-table-name> like <old-table-name>を試みることができますテーブルを指定するか、 - データベースまたは--all-databasesを使用すると、データベース全体がダンプされます。

あなたのバージョンのmysqldumpがサポートしているオプションのリストは、mysqldump --helpを実行することで取得できます。

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