解析csv数据导入mysql的方法

yipeiwu_com6年前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中批量删除Mysql中相同前缀的数据表的代码

方法一: 复制代码 代码如下: <?php mysql_connect('','',''); mysql_select_db(''); $rs=mysql_query('show...

php&amp;mysql 日期操作小记

在时间比较查询的时候,int的效率明显更高。祥文见https://www.jb51.net/article/29767.htm 但是在做项目的时候或者直接在数据库查看数据的时候,明显这个...

php操作mysql获取select 结果的几种方法

如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。 用 MYSQL_ASSOC 只得到关联索引(如同mysql_fetch_assoc() 那样), 用 MYSQL...

PHP与MySQL开发的8个技巧小结

1. PHP 中数组的使用 在操作数据库时,使用关联数组(associatively-indexed arrays)十分有帮助,下面我们看一个基本的数字格式的数组遍历: 复制代码 代码如...

在php和MySql中计算时间差的方法详解

在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了。 最近在研究自己爱围脖的时候就要计算到恋爱天数,这需要php根据每天的日期进行计算,下面就...