2011-08-08 62 views

回答

0

如果您有權訪問phpMyAdmin,則可以通過所需表格上的導出選項卡獲取此代碼。

選擇SQL,然後確保導出類型設置爲「INSERT」的「結構」(「CREATE table」代碼)和「數據」(「INSERT」代碼)。

6

如果您使用的是phpMyAdmin,請選擇一個表格,然後單擊「導出」選項卡。其中一種輸出類型是SQL。選擇它將生成一個SQL腳本來創建表並插入當前表中的所有數據。確保轉儲數據選項下選擇「結構和數據」

50

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這可能是有用的。如果你有一個CLI,像liamgriffiths推薦的那樣使用mysqldump。

+0

這不涉及複製我認爲是預期結果的一部分的行。 –

+3

這是*真的很好 - 應該是最好的答案! – Haudegen

0

我會去與mysqldump @liamgriffiths建議,但你也可以嘗試之後insert into <new-table-name> select * from <old-table-name>

2

的mysqldump create table <new-table-name> like <old-table-name> [OPTIONS]數據庫[表]>備份file.sql

如果你不」不給任何表或使用 - 數據庫或 - 所有數據庫,整個數據庫將被傾倒。

通過執行mysqldump --help,您可以獲得您的mysqldump版本支持的選項列表。

請注意,如果您在沒有--quick或--opt的情況下運行mysqldump,mysqldump會在轉儲結果之前將整個結果集加載到內存中。這可能會成爲一個問題,如果你傾銷大型數據庫。