MySql中LOAD DATA INFILE函数的使用
LOAD DATA INFILE
有时候我们需要将大量数据批量写入数据库,直接使用程序语言和Sql写入往往很耗时间,其中有一种方案就是使用MySql Load data infile导入文件的形式导入数据到数据库,这样可大大缩短数据导入时间。利用这个函数,在渗透的时候会对测试人员有帮助。
LOAD DATA INFILE 是 SELECT ... INTO OUTFILE 的相对语句。只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损坏,则必须先恢复原来的表的结构。
- LOAD DATA INFI 导入数据到数据库
- SELECT ... INTO OUTFILE 把表中的数据导出
load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table table_name
[fields
[terminated by't']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'n']
[ignore number lines]
[(col_name, )]
(1) fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:
terminated by分隔符:意思是以什么字符作为分隔符,如 '\n'
1. 查看功能是否开启
LOAD DATA INFILE这个功能默认是关闭的,当我们没有开启这个功能时执行LOAD DATA INFILE会报错,我们可以通过如下命令查看功能状态。
show global variables like 'local_infile';
这里是开启的状态

如果没有开启,可以通过如下命令进行开启
set global local_infile=1;
2. 从文件读取行信息到表中
我在数据库中新建一个表,默认的id字段的类型改为varchar即字符串类型,这样才能写进去。其他字段就不需要了。主要这里路径是左斜杠
load data local infile 'C:/Users/Administrator/Desktop/2.txt' into table userlist fields terminated by '\n';

执行语句后查看表,发现内容已经被写入

如果我们表中有两个字段时,写入后就是如下的样子。从左往右,从上到下写。

相关推荐
-
Nginx 原理和架构 | 原力计划2025-04-12 01:23:13
-
PHP极速匹配子字符串,你是怎么做的?2025-04-12 01:10:40
-
nginx的安装 教程2025-04-12 00:59:04
-
MySQL中是如何实现事务提交和回滚的?2025-04-12 00:54:21
-
nginx 配置白黑名单与配置访问频率和连接数2025-04-12 00:41:59