mysql数据导入导出 CSV格式_MySQL中导入导出CSV格式数据

本文介绍了如何在MySQL中导入和导出CSV格式的数据,包括使用LOAD DATA INFILE和SELECT INTO OUTFILE语句,并提供了Windows和Linux环境下的具体操作示例。同时,文章提到了在导入过程中可能遇到的问题及解决办法。
摘要由CSDN通过智能技术生成

原标题:MySQL中导入导出CSV格式数据

aa3446841ce032bf306588b8b232d413.gif

预备阅读:MySQL中的主键问题和赋权限问题

今天来讲一下在MySQL中导入和导出CSV格式数据的操作。

CSV格式数据

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。

CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的(往往是私有的和/或无规范的格式)。因为大量程序都支持某种CSV变体,至少是作为一种可选择的输入/输出格式。

“CSV”并不是一种单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“CSV”泛指具有以下特征的任何文件:

纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;

由记录组成(典型的是每行一条记录);

每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);

每条记录都有同样的字段序列。MySQL中导入CSV格式数据

这边我用了PHPmyadmin工具连接MySQL数据库,其他的也可以,比如Navicat for MySQL。

新建test数据库,新建数据表:csvmysql

070e46ce3e6d3fd417bbcdb3981e52fd.png

设置表结构:

a59e6c9716c34be7e975c0909d98cb66.png

字段名MMSI类型为int,Record_Datetime 类型为int,目标字段名,类型,就按照上图设置。

下面开始插入数据:

Windows下:

LOADDATAINFILE'C:\\Users\\Administrator\\Desktop\\test\\test.csv'

INTOTABLE`csvmysql`

FIELDSTERMINATEDBY','OPTIONALLYENCLOSEDBY'"'ESCAPEDBY'"'

LINESTERMINATEDBY'\n';

9bd9c2eb4296acd6e85d9af625f111b9.png

查看结果:

473de2cc65809834c79f73a82a19d65e.png

9b35651b09a9b2415013971d3e510018.png

原本为空表的csvmysql,现在已经有了100多万行数据,插入数据成功。

Linux下:

LOADDATAINFILE

'/tmp/test.csv'

INTOTABLE'csvmysql'

FIELDSTERMINATEDBY','OPTIONALLYENCLOSEDBY'"'ESCAPEDBY'"'

LINESTERMINATEDBY'\r\n';

PS.如果运行上面的结果报错,#1290 – The MySQL server is running with the –secure-file-priv option so it cannot execute this statement。

解决办法:

1、配置文件中将这行注释“secure-file-priv=”datadir=”D:\AppServ/MySQL/Uploads””(根据环境不同,路径不同,直接打开my.ini搜索secure-file-priv注释即可);很多人添加权限依然不行就是因为这行没有添加;

注意:加完后一定要重启mysql;

2、赋权限

详情请看MySQL中的主键问题和赋权限问题

MySQL中导出CSV格式数据

查询语句:

--Windows下:

SELECT*

INTOOUTFILE"f:\\out.csv"

FIELDSTERMINATEDBY','

ENCLOSEDBY'"'

LINESTERMINATEDBY'\n'

FROMcsvmysql;

--Linux下:

SELECT*

INTOOUTFILE"/tmp/out.csv"

FIELDSTERMINATEDBY','

ENCLOSEDBY'"'

LINESTERMINATEDBY'\n'

FROMcsvmysql;

查询结果:

87f11c5f8f55bd196233f3c650d30ddb.png

然后在我的F盘下面出现了out.csv文件,打开查看和数据库中数据一致。

以上就是在MySQL中导入导出CSV格式数据的方法。

希望通过上面的操作能帮助大家解决插入数据出现的一些问题。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。

如果想快速联系我,欢迎关注微信公众号:AiryData。

欢迎访问原文链接,查看更多内容。

http://www.airyyun.com/277.html返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值