MySQL表数据导出为特定格式文件

在平时的业务中,我们有时。需要导出数据库中的数据以及将数据插入到数据库中,如果是使用代码开发,那过程是比较复杂的。
比如:我们要将某个.csv文件数据最终入库,那就要经过解析文件读取行来插入数据库中,相同的,要将数据库中的数据最终写入到.csv文件中,我们要先查询然后再行写入到对应的文件中,这样的过程在使用mysql数据时可以很容易的搞定,因为mysql的语法本身就支持将表数据导出到一定格式的文件以及将文件直接写入表,而且对于百万级的大数据也是速度相当快的

一、表数据导出

  • 导出文件格式支持
    在这里插入图片描述

  • 基本语法

 SELECT查询语句 INTO OUTFILE 文件路径 [OPTION]  # SELECT * FROM userinfo INTO OUTFILE 'F:/Test/mysqlout/user.csv'
  • [OPTION]可选参数
参数描述
FIELDS TERMINATED BY ‘value’设置字段之间的分隔符可以为单个或多个字符,默认情况下为制表符“\t”
FIELDS [OPTIONALLY] ENCLOSED BY ‘value’’设置字段的包围字符,只能为单个字符,如果使用了OPTIONALLY 则只包括 CHAR 和 VARCHAR 等字符数据字段
FIELDS ESCAPED BY ‘value’设置如何写入或读取特殊字符,只能为单个字符,即设置转义字符,默认值为“\”
LINES STARTING BY ‘value’设置每行数据开头的字符,可以为单个或多个字符,默认情况下不使用任何字符。
LINES TERMINATED BY ‘value’设置每行数据结尾的字符,可以为单个或多个字符,默认值为“\n”。

注意: FIELDS 和 LINES 如果两个都被指定了,FIELDS 必须位于 LINES 的前面

  • 示例
SELECT * FROM userinfo INTO OUTFILE "F:/Test/mysqlout/user.xls"
FIELDS
	TERMINATED BY '\t'  # 字段分隔符,默认就是\t
	ENCLOSED BY '\"'	# 字段的两边的字符
	ESCAPED BY '\'' # 转义字符
	LINES
	TERMINATED BY '\r\n';  # 行分隔符,默认换行

在这里插入图片描述
 唯一遗憾的是sql导出的首行没有列名,而且csv导出的一行数据在一个单元格中

二、文件数据导入到表

  • 基本语法
LOAD DATA INFILE 'filename.txt' INTO TABLE tablename [OPTIONS] # [OPTIONS]同导出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值