linux下:
LOAD DATA INFILE '/home/test/dump/ip_location.csv'
INTO TABLE ip_location
CHARACTER SET utf8
FIELDS TERMINATED BY ',' ENCLOSED BY '"';
--CHARACTER SET :mysql字符集,一定要加上,免去亂碼麻煩
--INTO TABLE :導入到哪個表
--FIELDS TERMINATED BY :以什么作為分割符
-- ENCLOSED BY :被什么包圍
windows下:
LOAD DATA INFILE "d:/insert_data.csv"
REPLACE INTO TABLE DEMO
CHARACTER SET gb2312
FIELDS TERMINATED BY "," ENCLOSED BY ""
LINES TERMINATED BY "\r\n";
--LINES TERMINATED BY:這個與linux不同,以什么作為一行的結尾。
-------導入本地csv文件
LOAD DATA LOCAL INFILE
'C:\\Users\\Administrator\\Desktop\\a.csv'
INTO TABLE -----想導入到哪個表
`ydtf`.`area_info`
FIELDS ESCAPED BY '\\' -----字段中使用的轉義符為\\
TERMINATED BY ',' -------字段間以,號分隔
ENCLOSED BY '"' ---------字段用"號括起
LINES TERMINATED BY '\r\n' -------行以\r\n結束
(`AREA_NAME`, `AREA_CODE`, `CITY_ID`, `PROVINCE_NAME`, `PROVINCE_CODE`); -------csv文件中數據按此順序插入表中
編號,名稱,說明
1,測試數據1,"測試CSV文件中,有逗號"
2,測試數據2,"測試CSV文件中有""雙引號"""
3,測試數據3,"測試CSV文件中,有逗號和""雙引號"""
4,測試數據4,普通數據
mysql> CREATE TABLE Test_Book1 (
-> id int,
-> name VARCHAR(10),
-> data VARCHAR(100)
-> );
Query OK, 0 rows affected (0.05 sec)
下面的 lines terminated by '\r\n' 是 要求換行符號,為 windows的換行
下面的 ignore 1 lines是 忽略第一行的標題行。
mysql> LOAD DATA INFILE 'f:/Book1.csv'
-> INTO TABLE Test_Book1
-> FIELDS TERMINATED BY ','
-> OPTIONALLY ENCLOSED BY '"'
-> lines terminated by '\r\n'
-> ignore 1 lines
-> (id, name, data);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from test_book1;
+------+-----------+--------------------------------+
| id | name | data |
+------+-----------+--------------------------------+
| 1 | 測試數據1 | 測試CSV文件中,有逗號 |
| 2 | 測試數據2 | 測試CSV文件中有"雙引號" |
| 3 | 測試數據3 | 測試CSV文件中,有逗號和"雙引號" |
| 4 | 測試數據4 | 普通數據 |
+------+-----------+--------------------------------+
4 rows in set (0.00 sec)
