首頁  >  文章  >  資料庫  >  總結MySQL導入資料的兩種方法

總結MySQL導入資料的兩種方法

零下一度
零下一度原創
2017-05-17 17:55:411141瀏覽

MySQL 匯入資料

MySQL中可以使用兩種簡單的方式來匯入MySQL匯出的資料。

使用 LOAD DATA 匯入資料

MySQL 中提供了LOAD DATA INFILE語句來插入資料。 以下實例中將從目前目錄讀取檔案 dump.txt ,將該檔案中的資料插入目前資料庫的 mytbl 表中。

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

 如果指定LOCAL關鍵字,則表示從客戶主機上按路徑讀取檔案。如果沒有指定,則檔案在伺服器上按路徑讀取檔案。

你能明確地在LOAD DATA語句中指出列值的分隔符號和行尾標記,但是預設標記是定位符號和換行符號。

兩個指令的 FIELDS 和 LINES 子句的語法是一樣的。兩個子句都是可選的,但是如果兩個同時被指定,FIELDS 子句必須出現在 LINES 子句之前。

如果使用者指定一個 FIELDS 子句,它的子句 (TERMINATED BY、[OPTIONALLY] ENCLOSED BY 和 ESCAPED BY) 也是可選的,不過,使用者必須至少指定它們中的一個。

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,a,則資料匯入語法如下:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

使用mysqlimport 匯入資料

mysqlimport客戶端提供了LOAD DATA INFILEQL語句的一個命令列介面。 mysqlimport的大多數選項直接對應LOAD DATA INFILE子句。

從檔案dump.txt 中將資料匯入mytbl 資料表, 可以使用下列指令:

$ mysqlimport -u root -p --local database_name dump.txt
password *****

mysqlimport指令可以指定選項來設定指定格式,指令語句格式如下:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \
   --lines-terminated-by="\r\n"  database_name dump.txt
password *****

mysqlimport 語句中使用--columns 選項來設定列的順序:

$ mysqlimport -u root -p --local --columns=b,c,a \
    database_name dump.txt
password *****

mysqlimport指令常用的選項還有-v 顯示版本(version), -p 提示輸入密碼(password)等。

【相關推薦】

1. 特別推薦「php程式設計師工具箱」V0.1版本下載

2. 免費mysql線上影片教學

#3. 資料庫設計那些事

#

以上是總結MySQL導入資料的兩種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn