當前位置:
首頁 > 最新 > MySQL 導出數據

MySQL 導出數據

MySQL 導出數據

MySQL中你可以使用SELECT...INTO OUTFILE語句來簡單的導出數據到文本文件上。

使用 SELECT ... INTO OUTFILE 語句導出數據

以下實例中我們將數據表 runoob_tbl 數據導出到 /tmp/tutorials.txt 文件中:

mysql>SELECT*FROM runoob_tbl->INTO OUTFILE"/tmp/tutorials.txt";

你可以通過命令選項來設置數據輸出的指定格式,以下實例為導出 CSV 格式:

mysql>SELECT*FROM passwd INTO OUTFILE"/tmp/tutorials.txt"->FIELDS TERMINATED BY","ENCLOSED BY"""->LINES TERMINATED BY"
";

在下面的例子中,生成一個文件,各值用逗號隔開。這種格式可以被許多程序使用。

SELECT a,b,a+b INTO OUTFILE"/tmp/result.text"FIELDS TERMINATED BY","OPTIONALLY ENCLOSED BY"""LINES TERMINATED BY"
"FROM test_table;

SELECT ... INTO OUTFILE 語句有以下屬性:

導出表作為原始數據

mysqldump是mysql用於轉存儲資料庫的實用程序。它主要產生一個SQL腳本,其中包含從頭重新創建資料庫所必需的命令CREATE TABLE INSERT等。

使用mysqldump導出數據需要使用 --tab 選項來指定導出文件指定的目錄,該目標必須是可寫的。

以下實例將數據表 runoob_tbl 導出到 /tmp 目錄中:

$ mysqldump-u root-p--no-create-info --tab=/tmp RUNOOB runoob_tblpassword******

導出SQL格式的數據

導出SQL格式的數據到指定文件,如下所示:

$ mysqldump-u root-p RUNOOB runoob_tbl>dump.txtpassword******

以上命令創建的文件內容如下:

--MySQLdump8.23----Host:localhostDatabase:RUNOOB-----------------------------------------------------------Serverversion3.23.58----Tablestructurefortable`runoob_tbl`--CREATE TABLE runoob_tbl(runoob_idint(11)NOT NULL auto_increment,runoob_title varchar(100)NOT NULLdefault"",runoob_author varchar(40)NOT NULLdefault"",submission_date datedefaultNULL,PRIMARY KEY(runoob_id),UNIQUE KEY AUTHOR_INDEX(runoob_author))TYPE=MyISAM;----Dumpingdatafortable`runoob_tbl`--INSERT INTO runoob_tbl VALUES(1,"Learn PHP","John Poul","2007-05-24");INSERT INTO runoob_tbl VALUES(2,"Learn MySQL","Abdul S","2007-05-24");INSERT INTO runoob_tbl VALUES(3,"JAVA Tutorial","Sanjay","2007-05-06");

如果你需要導出整個資料庫的數據,可以使用以下命令:

$ mysqldump-u root-p RUNOOB>database_dump.txtpassword******

如果需要備份所有資料庫,可以使用以下命令:

$ mysqldump-u root-p--all-databases>database_dump.txtpassword******

--all-databases 選項在 MySQL 3.23.12 及以後版本加入。

該方法可用於實現資料庫的備份策略。

將數據表及資料庫拷貝至其他主機

如果你需要將數據拷貝至其他的 MySQL 伺服器上, 你可以在 mysqldump 命令中指定資料庫名及數據表。

在源主機上執行以下命令,將數據備份至 dump.txt 文件中:

$ mysqldump-u root-p database_name table_name>dump.txtpassword*****

如果完整備份資料庫,則無需使用特定的表名稱。

如果你需要將備份的資料庫導入到MySQL伺服器中,可以使用以下命令,使用以下命令你需要確認資料庫已經創建:

$ mysql-u root-p database_name

你也可以使用以下命令將導出的數據直接導入到遠程的伺服器上,但請確保兩台伺服器是相通的,是可以相互訪問的:$ mysqldump-u root-p database_name mysql-h other-host.com database_name

以上命令中使用了管道來將導出的數據導入到指定的遠程主機上。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Mac芳的成長筆記 的精彩文章:

TAG:Mac芳的成長筆記 |