mysql之load data into file语法

本文介绍了如何使用MySQL的LOAD DATA INFILE命令从文本文件高效导入大量数据。首先,通过SELECT INTO OUTFILE生成格式化的文件,然后在my.ini配置文件中启用相关支持并重启服务。在数据导入过程中,可以指定字段分隔符和包围符,解决包含特殊符号的数据导入问题。示例中展示了处理逗号分隔的数据和带引号的数据的导入方法。
摘要由CSDN通过智能技术生成

在这里插入图片描述
为了介绍 load data into 语法,这个语法是从文本文件中导入到数据库,比如有一个数据量非常大,有格式的文本文件,如何快速插入到数据库,我们可以使用程序,或者手工拼接SQL插入到数据库。
今天我们讲解一个mysql自带的导入命令,这个命令效率比较高。

准备文本文件,我们可以使用select into outfile 命令。
如上截图报错了,是因为我们服务器没有配置支持
在这里插入图片描述
我们编辑my.ini文件,在mysqld节点下增加如下配置:
在这里插入图片描述
重启mysql服务,再次执行,成功。
在这里插入图片描述

文本内容如下:默认Tab
在这里插入图片描述
假如这个文件非常大,几十亿条数据可以吧,嘿嘿
我们使用load data into file命令进行导入数据库。
我们先delete from t_student;删除表记录。
在这里插入图片描述
可以看到数据又回来了。

其他情况,数据不是默认的tab分隔,我们可以指定分隔符
fields terminated by

如:

select * from e into outfile "/data/mysql/e.sql" fields terminated by ',';

load data infile "/data/mysql/e.sql" into table e fields terminated by ',';

数据有特殊符号包裹的情况。

# cat e.sql 
"1669"  "Jim"   "Smith"
 > load data infile "/data/mysql/e.sql" into table e; ERROR 1366 (HY000): Incorrect integer value: '"1669"' for column 'id' at row 1

 > load data infile "/data/mysql/e.sql" into table e fields enclosed by '"';  Query OK, 1 row affected (0.01 sec) Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

参考博客 :https://www.cnblogs.com/waynechou/p/7794939.html

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程
博客若对你有用,欢迎扫码打赏,你的打赏是我写作的动力。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值