展开全部
Book1.csv
编号,名称,说明
1,测试数据1,"测试CSV文件中,有逗号"
2,测试数据2,"测试CSV文件中有e68a8462616964757a686964616f31333332623263""双引号"""
3,测试数据3,"测试CSV文件中,有逗号和""双引号"""
4,测试数据4,"普通数据"
5,测试数据5,
6,测试数据6,""
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 'e:/Temp/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, 6 rows affected (0.00 sec)
Records: 6 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 | 普通数据 |
| 5 | 测试数据5 | |
| 6 | 测试数据6 | |
+------+-----------+--------------------------------+
6 rows in set (0.00 sec)
mysql> select * from test_book1 WHERE data is null;
Empty set (0.00 sec)
mysql> select * from test_book1 WHERE data = '';
+------+-----------+------+
| id | name | data |
+------+-----------+------+
| 5 | 测试数据5 | |
| 6 | 测试数据6 | |
+------+-----------+------+
2 rows in set (0.00 sec)
不知道上面这种写法, 你那里能不能测试通过啊...