解析csv数据导入mysql的方法

yipeiwu_com5年前Mysql基础
mysql自己有个csv引擎,可以通过这个引擎来实现将csv中的数据导入到mysql数据库中,并且速度比通过php或是python写的批处理程序快的多。
具体的实现代码示例:
复制代码 代码如下:

load data infile '/tmp/file.csv' into table _tablename (set character utf8)
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n';

这段代码中涉及的一些关键字的解释如下:
fields terminated by '':这是指出csv文件中字段终止符,也就是数据之间的分隔符;
enclosed by '':指出封套符;
lines terminated by '':指行终止符
在csv文档(RFC4180)中详细介绍了csv的格式,其中的要点有:
(1)字段之间以“,”(逗号)间隔,数据行之间使用\r\n分隔;
(2)字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。
通过以上的解释,详细对于数据导入代码应该有更好的理解了。

同样的,csv数据能够导入mysql数据库中,mysql中的数据表也能导出csv文件,导出的代码示例:
复制代码 代码如下:

select * from tablename into outfile '/tmp/data.txt'
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n';

当将数据库中的数据导出到文件后,要再将数据导入到数据库中,必须遵守导出时的文件中定义的格式。

相关文章

php在linux下检测mysql同步状态的方法

本文实例讲述了php在linux下检测mysql同步状态的方法。分享给大家供大家参考。具体分析如下: 这里通过两个实例来介绍mysql同步状态检测实现方法。代码如下: 复制代码 代码如下...

PHP查询MySQL大量数据的时候内存占用分析

昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果...

PHP中执行MYSQL事务解决数据写入不完整等情况

近来稍有时间研究了下MYSQL中的事务操作,在很多场合下很是适用,譬如在注册的时候需要初始化很多张关联表的时候,问答回复的时候需要至少同时操作两张表,这些都会在某些时候只能成功更新一张表...

php基于PDO实现功能强大的MYSQL封装类实例

本文实例讲述了php基于PDO实现功能强大的MYSQL封装类。分享给大家供大家参考,具体如下: class CPdo{ protected $_dsn = "mysql:host=...

PHP实现的mysql操作类【MySQL与MySQLi方式】

本文实例讲述了PHP实现的mysql操作类。分享给大家供大家参考,具体如下: 首先是mysql方式 <?php class ConnectionMySQL{ //主...