MySQL 中提供了LOAD DATA INFILE語句來插入數(shù)據(jù)。 以下實例中將從當前目錄中讀取文件 dump.txt ,將該文件中的數(shù)據(jù)插入到當前數(shù)據(jù)庫的 mytbl 表中。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
如果指定LOCAL關(guān)鍵詞,則表明從客戶主機上按路徑讀取文件。如果沒有指定,則文件在服務器上按路徑讀取文件。
你能明確地在LOAD DATA語句中指出列值的分隔符和行尾標記,但是默認標記是定位符和換行符。
兩個命令的 FIELDS 和 LINES 子句的語法是一樣的。兩個子句都是可選的,但是如果兩個同時被指定,F(xiàn)IELDS 子句必須出現(xiàn)在 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 默認情況下是按照數(shù)據(jù)文件中列的順序插入數(shù)據(jù)的,如果數(shù)據(jù)文件中的列與插入表中的列不一致,則需要指定列的順序。
如,在數(shù)據(jù)文件中的列順序是 a,b,c,但在插入表的列順序為b,c,a,則數(shù)據(jù)導入語法如下:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
![]() | ![]() .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 |
![]() | ![]() .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |