有兩個簡單的方法MySQL中的數據加載到MySQL數據庫從先前備份的文件。
LOAD DATA導入數據:
MySQL提供了LOAD DATA語句,作為一個大容量數據加載。下面是一個例子聲明中,讀取一個文件dump.txt,,從當前目錄加載到當前數據庫中的表mytbl:
如果本地的關鍵字是不存在的,MySQL的外觀使用絕對路徑名尋找到完全指定位置的文件在服務器主機上的數據文件,從文件系統根目錄開始。MySQL從給定的位置的讀取文件。
默認情況下,LOAD DATA假設數據文件包含多行終止換行(換行)和行內的數據值由制表符分隔。
要明確指定文件格式,使用一個FIELDS子句來形容領域的行內,一個LINES子句指定的行結束符序列。下面的LOAD DATA語句指定的數據文件包含由冒號分隔的值和行結束的回車和換行字符:
代碼如下 復制代碼 mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytblLOAD DATA假定在數據文件中的列的表中的列具有相同的順序。如果這是不是真的,可以指定一列的表列的數據文件列應該被裝入。假設表中的列A,B和C,但在數據文件中的連續列對應的列B和C可以加載該文件是這樣的:
代碼如下 復制代碼 mysql> LOAD DATA LOCAL INFILE 'dump.txt'導入數據mysqlimport
MySQL還包括一個命名的mysqlimport實用程序,作為LOAD DATA包直接在命令行中輸入文件加載。
要加載數據從dump.txt到mytbl使用,在UNIX提示符下面的命令。
代碼如下 復制代碼 $ mysqlimport -u root -p --local database_name dump.txt如果使用mysqlimport命令行選項提供的格式說明符。mysqlimport命令對應於前面的兩個LOAD DATA語句看起來像這樣:
代碼如下 復制代碼 $ mysqlimport -u root -p --local --fields-terminated-by=":"mysqlimport 指定的選項的順序並不重要,但他們都應該先於數據庫的名稱。
mysqlimport 語句使用 - 列選項來指定列的順序:
代碼如下 復制代碼 $ mysqlimport -u root -p --local --columns=b,c,a處理引號和特殊字符:
FIELDS子句可以指定其他格式的選擇,除了TERMINATED BY。默認情況下,LOAD DATA假設值加引號,並解釋反斜槓()作為轉義字符的特殊字符。要指示值顯式地引用字符,使用封閉;,MySQL將兩端的數據值中刪除該字符的輸入處理過程中。要更改默認的轉義字符,請使用來轉義。
對於mysqlimport引號和轉義值,用於指定相應的命令行選項 - 封閉的領域 - 領域轉義