有兩個簡單的方法MySQL中的數據加載到MySQL數據庫從先前備份的文件。
LOAD DATA導入數據:
MySQL提供了LOAD DATA語句,作為一個大容量數據加載。下面是一個例子聲明中,讀取一個文件dump.txt,,從當前目錄加載到當前數據庫中的表mytbl:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':' -> LINES TERMINATED BY '\r\n';
LOAD DATA假定在數據文件中的列的表中的列具有相同的順序。如果這是不是真的,可以指定一列的表列的數據文件列應該被裝入。假設表中的列A,B和C,但在數據文件中的連續列對應的列B和C可以加載該文件是這樣的:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
導入數據mysqlimport
MySQL還包括一個命名的mysqlimport實用程序,作為LOAD DATA包直接在命令行中輸入文件加載。
要加載數據從dump.txt到mytbl使用,在UNIX提示符下面的命令。
$ mysqlimport -u root -p --local database_name dump.txt password *****
如果使用mysqlimport命令行選項提供的格式說明符。mysqlimport命令對應於前面的兩個LOAD DATA語句看起來像這樣:
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****
mysqlimport 指定的選項的順序並不重要,但他們都應該先於數據庫的名稱。
mysqlimport 語句使用 - 列選項來指定列的順序:
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password *****
處理引號和特殊字符:
FIELDS子句可以指定其他格式的選擇,除了TERMINATED BY。默認情況下,LOAD DATA假設值加引號,並解釋反斜槓(\)作為轉義字符的特殊字符。要指示值顯式地引用字符,使用封閉;,MySQL將兩端的數據值中刪除該字符的輸入處理過程中。要更改默認的轉義字符,請使用來轉義。
對於mysqlimport引號和轉義值,用於指定相應的命令行選項 - 封閉的領域 - 領域轉義