LOAD DATA INFILE语句导入数据进入MySQL的一些注意事项
2015-09-02 12:41
597 查看
可以用以下语句导入CSV或其他格式数据进入MySQL数据库,
FIELDS TERMINATED BY "," //
字段以”,“分隔
ENCLOSED BY "" //字段闭合标签,例如ENCLOSED BY """",则字段以双引号”“闭合,在双引号内部的字段分隔符都会被忽略
LINES TERMINATED BY "\r\n" //Windows 系统下每一行的结束标志,Linux系统应该是LINES TERMINATED BY "\n"或<LINES TERMINATED BY "\r"或可以直接省略。
IGNORE 1 LINES //忽略特定行数,CSV文件可以忽略掉第一行标题
先必须建好数据库内表的字段,要与文件每一行分隔后的字段数目相一致。
如果有必须要加添的字段,可以在完成数据导入后用SQL语句加添字段,实例如下:
ALTER TABLE litigationinfo ADD id INT NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST
此外还有一些细节方面的问题需要注意一下,我将我所遇到的情况及注意事项写在下面:
当使用WIndows系统下的WampServer一键开发环境时,需要注意CSV文件编码应该修改为无BOM的utf8,否则会出现数据乱码等情况。
CSV文件及路径最好以英文命名。中文名称经测试无法正确执行。
用phpmyadmin导入数据进mysql时,CSV文件要和phpmyadmin在同一个目录下。或者说在Mysql有权限读取的目录下面。
当在Linux系统下使用时注意英文,有无BOM头及权限等即可。
最后最后,一定是比较重要的,建表时一定不要(请注意是一定不要)建好索引,外键约束等等,可以再数据导入完成后添加各种约束,否则数据的导入将会出错,或特别慢。当时我加了各种约束,导入一个120M+的CSV文件出错。
最后一点是忠告,浪费了我两个多小时来检查。。。
先就写这么多了。
LOAD DATA LOCAL INFILE "C:\\wamp\\apps\\litigationinfo.csv" REPLACE INTO TABLE litigationinfo CHARACTER SET utf8 FIELDS TERMINATED BY "," ENCLOSED BY "" LINES TERMINATED BY "\r\n" IGNORE 1 LINES本地文件导入本地服务器可以加入LOCAL,REPLACE/IGNORE 两种方式处理重复数据,编码集UTF8/GBK等可选,
FIELDS TERMINATED BY "," //
字段以”,“分隔
ENCLOSED BY "" //字段闭合标签,例如ENCLOSED BY """",则字段以双引号”“闭合,在双引号内部的字段分隔符都会被忽略
LINES TERMINATED BY "\r\n" //Windows 系统下每一行的结束标志,Linux系统应该是LINES TERMINATED BY "\n"或<LINES TERMINATED BY "\r"或可以直接省略。
IGNORE 1 LINES //忽略特定行数,CSV文件可以忽略掉第一行标题
先必须建好数据库内表的字段,要与文件每一行分隔后的字段数目相一致。
如果有必须要加添的字段,可以在完成数据导入后用SQL语句加添字段,实例如下:
ALTER TABLE litigationinfo ADD id INT NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST
此外还有一些细节方面的问题需要注意一下,我将我所遇到的情况及注意事项写在下面:
当使用WIndows系统下的WampServer一键开发环境时,需要注意CSV文件编码应该修改为无BOM的utf8,否则会出现数据乱码等情况。
CSV文件及路径最好以英文命名。中文名称经测试无法正确执行。
用phpmyadmin导入数据进mysql时,CSV文件要和phpmyadmin在同一个目录下。或者说在Mysql有权限读取的目录下面。
当在Linux系统下使用时注意英文,有无BOM头及权限等即可。
最后最后,一定是比较重要的,建表时一定不要(请注意是一定不要)建好索引,外键约束等等,可以再数据导入完成后添加各种约束,否则数据的导入将会出错,或特别慢。当时我加了各种约束,导入一个120M+的CSV文件出错。
最后一点是忠告,浪费了我两个多小时来检查。。。
先就写这么多了。
相关文章推荐
- mysql 启动错误1026
- mysql将字符串格式化为日期
- Mysql UNIX时间戳和日期转换函数
- mysql导出excel文件的几种方法
- MySQL二进制日志
- Multi-Master Replication Manager for MySQL FAQ
- MySQL二进制日志
- MySQL中VARCHAR与CHAR格式数据的区别
- MySQL命令行导出数据库
- mysql
- 详解MySQL集群搭建
- MySQL选用可重复读之前一定要想到的事情
- mysql 创建新用户 赋予权限
- mysql配置 --InnoDB相关参数
- mysql配置 --InnoDB相关参数
- mysql配置 --InnoDB相关参数
- mysql引擎
- mysql引擎
- mysql引擎
- Mysql数据迁移