2016-09-26 56 views
0

我正在使用MySQL數據庫,並希望具有將錶轉儲到純文本文件,能夠進行一些編輯以及重新上傳導致表格被改變爲文件內容的文件。最簡單的方法是什麼?我知道我可以SELECT * INTO file.txt,但我不確定我是否可以輕鬆上傳該文件。我只需編寫一個python腳本來運行這些命令,但它看起來有點笨拙,我理想上也喜歡某種完整性保護,以確保不會擦除數據庫。將MySQL數據庫打印到文本文件並重新上傳的最簡單方法

+1

可能重複:http://stackoverflow.com/questions/11407349/mysql-how -to-出口和進口的-SQL文件從-comman d線 –

回答

0

你所尋找的是mysqldump

一個例子:

mysqldump db_name > backup-file.sql 
+0

除了編輯mysqldump文件可能會非常棘手。 – Barmar

0

導出爲CSV:

SELECT 
    * 
INTO 
    OUTFILE '/path/file.csv' 
    FIELDS TERMINATED BY ',' 
    OPTIONALLY ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
FROM 
    `table`; 

這將創建一個標準的CSV文件

要將它讀回表格(具有相同的結構)

DROP TABLE IF EXISTS `table2`; 

CREATE TABLE `table2` LIKE `table`; 

LOAD DATA INFILE 
    '/path/file.csv' 
INTO 
    TABLE `table2` 
    FIELDS TERMINATED BY ',' 
    OPTIONALLY ENCLOSED BY '"' 
    LINES TERMINATED BY '\n'; 

我不會導入回同一張表。我會導入到一個新表來正確確保它所有的作品,刪除初始表,如果成功,然後重命名錶2至表:

DROP TABLE table; 
RENAME TABLE table2 TO table; 

如果你真的想導入回到相同的表替換初始數據指定REPLACE

LOAD DATA INFILE 
    '/path/file.csv' 
REPLACE 
INTO TABLE `table` 
... 

使用CSV的好處是,你可以導入到電子表格很容易地編輯

相關問題