通过LOAD DATA方式将数据导入数据表中
LOAD DATA INFILE '输入文件的路径及文件名' INTO TABLE 要导入表的表名称;
LOAD DATA INFILE 'G:/p.txt' INTO TABLE province;
LOAD DATA INFILE 'G:/p.txt' INTO TABLE province CHARACTER SET utf8 ;
这个命令有几个需要注意的地方:
注意:
(1) 导入txt之前,应当删除字段的表头,否则表头内容也会被当做字段的值导入字段中。
(2) 导入txt之前,应当将txt另存为utf-8格式,否则中文无法导入。
(3) 导入txt之前,一定要将utf-8的文档去BOM头化,否则因为有前导字符串,会导入错误。
如果没有去BOM头,就会在第一行出现以下经过内容,导致内容导入错误:
mysql> SHOW WARNINGS;
+---------+------+--------------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------------+
| Warning | 1366 | Incorrect integer value: '?1' for column 'id' at row 1 |
+---------+------+--------------------------------------------------------+
1 row in set (0.00 sec)
关于第一行出错的这个情况,开始我也没想到是BOM头的问题,后来看到了这个帖子 才知道。
去BOM头,可以下载这个小工具:http://www.huacolor.com/soft/80485.html