Chinaunix

标题: load data infile 的疑问 [打印本页]

作者: dengzhuo    时间: 2014-04-21 19:27
标题: load data infile 的疑问
我有如下csv文件,用逗号分隔
------------------------
名字,年龄,性别
jack,18,m
tom,20,f
xiaoming,2,m
f,3
----------------------
最后一行的表示的是总记录数

现在想用load data infile来导入数据库,请问我如果要是按照名字,年龄,性别来导入的话,遇到第一行和最后一行的话,该命令会出错吗,还是忽略过去了呢。2问,如果我想从第三行开始导入的话,该如何写呢。

谢谢。
作者: itfly3    时间: 2014-04-25 16:42
1、导入是没问题:不足的域就显示为null
mysql> load data infile 'data_t.txt' INTO table T FIELDS TERMINATED BY',';
Query OK, 5 rows affected, 3 warnings (0.06 sec)
Records: 5  Deleted: 0  Skipped: 0  Warnings: 3
mysql> SELECT * FROM T;
+--------------------------+------+------+
| MZ                       | NL   | XB   |
+--------------------------+------+------+
| 张三                     |   10 | f    |
| 名字,年龄,性别   | NULL | NULL |
| jack                     |   18 | m    |
| tom                      |20 | f    |
| xiaoming             |    2 | m    |
| f                          |    3 | NULL |
+--------------------------+------+------+
6 rows in set (0.00 sec)
2、从第三行开始导入,mysql不知道能不能指定,最好还是自己先处理下(这样应该来的方便些)
linux就:sed '1,2d' 文件 >>新文件(导入用新文件导入)
window就用别的编辑软件,去掉第一二行

QQ截图20140425163817.jpg (9.57 KB, 下载次数: 11)

QQ截图20140425163817.jpg

作者: dengzhuo    时间: 2014-05-06 18:20
谢谢了。学到了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2