有兩個簡單的方法MySQL中的資料載入到MySQL資料庫從先前備份的檔案。
LOAD DATA匯入資料:
MySQL提供了LOAD DATA語句,作為一個大容量資料載入。下面是一個例子聲明中,讀取一個檔案dump.txt,,從目前的目錄載入到當前資料庫中的表mytbl:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
- 如果本地的關鍵字是不存在的,MySQL的外觀使用絕對路徑名尋找到完全指定位置的檔案在伺服器主機上的資料檔案,從檔案系統根目錄開始。MySQL從給定的位置的讀取檔案。
- 預設情況下,LOAD DATA假設資料檔案包含多行終止換行(換行)和行內的資料值由定位字元分隔。
- 要明確指定檔案格式,使用一個FIELDS子句來形容領域的行內,一個LINES子句指定的行結束符序列。下面的LOAD DATA語句指定的資料檔案包含由冒號分隔的值和行結束的斷行符號和換行字元:
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.txtpassword *****
如果使用mysqlimport命令列選項提供的格式說明符。mysqlimport命令對應於前面的兩個LOAD DATA語句看起來像這樣:
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txtpassword *****
mysqlimport 指定的選項的順序並不重要,但他們都應該先於資料庫的名稱。
mysqlimport 語句使用 - 列選項來指定列的順序:
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txtpassword *****
處理引號和特殊字元:
FIELDS子句可以指定其他格式的選擇,除了TERMINATED BY。預設情況下,LOAD DATA假設值加引號,並解釋反斜線(\)作為逸出字元的特殊字元。要指示值顯式地引用字元,使用封閉;,MySQL將兩端的資料值中刪除該字元的輸入處理過程中。要更改預設的逸出字元,請使用來轉義。
對於mysqlimport引號和轉義值,用於指定相應的命令列選項 - 封閉的領域 - 領域轉義