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)