当前位置: 首页 > news >正文

mysql数据快速导入和导出

在公司中,如果运营或者产品手里有几千万甚至几亿条数据,要求你将其导入数据中,请问如何做?

如果你依据运营或产品交给你的数据文件直接使用insert语句,一行一行地批量插入,那至少需要1-2天时间才能插入完毕,此时我们可以用LOADDATAINFILE语句。

LOAD DATAINFILE语句可以从一个文本文件中,将数据以很高的速度读入一个表中。MySQL官方文档也说明了,该方法比一次性插入一条数据性能快20倍。此外,mysqI也支持快速导出语句SELECT INTO OUTFILE

使用MySQL的SELECT INTO OUTFILE、LOAD DATA INFILE快速导出导入数据,12G的数据导出用时3分钟左右,导入用时4分钟左右(执行时间根据机器的配置会有所不同,不具有参考价值)


快速导入/导出

表的快速导出

语法:
SELECT... INTO OUTFILE 导出文本文件要想导出成功,需要设置安全目录才行
vim /etc/my.cnf
[mysqld]
secure-file-priv=/tmp示例:
SELECT * FROM db1.t1INTO OUTFILE '/tmp/db1_t1.txt'FIELDS TERMINATED BY ','      -- 定义字段分隔符OPTIONALLY ENCLOSED BY '"'    -- 定义字符串使用什么符号括起来LINES TERMINATED BY '\n';     -- 定义换行符

快速导入

语法
LOAD DATA INFILE 导入的文本文件路径示例
mysql> DELETE FROM student1;
mysql> create table new_t1(表结构与文件中数据保持一致);
mysql> LOAD DATA INFILE '/tmp/db1_t1.txt'INTO TABLE new_db.new_t1FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"'LINES TERMINATED BY '\n';

其他导出

mysql 命令导出文本文件
示例:
# mysql -u root -pMangol123 -e 'select * from db1.t1' > /tmp/db1_t1.txt
# mysql -u root -pMangol123 --xml -e 'select * from db1.t1' > /tmp/db1_t1.xml
# mysql -u root -pMangol123 --html -e 'select * from db1.t1' > /tmp/db1_t1.html

示例

1、准备测试数据

create database mangol_test;
use mangol_test;
create table employee(
id int not null unique auto_increment,
name varchar(20) not null,
sex enum('male','female') not null default 'male', 
age int(3) unsigned not null default 28,
hire_date date not null,
post varchar(50),
post_comment varchar(100),
salary double(15,2),
office int, 
depart_id int
);#插入记录
#三个部门:教学,销售,运营
insert into employee(name,sex,age,hire_date,post,salary,office,depart_id) values
('egon','male',18,'20170301','God',7300.33,401,1),
('alex','male',78,'20150302','teacher',1000000.31,401,1),
('wupeiqi','male',81,'20130305','teacher',8300,401,1),
('yuanhao','male',73,'20140701','teacher',3500,401,1),
('liwenzhou','male',28,'20121101','teacher',2100,401,1),
('jingliyang','female',18,'20110211','teacher',9000,401,1),
('jinxin','male',18,'19000301','teacher',30000,401,1);

设置安全目录为/tmp,并重启

vim /etc/my.cnf
[mysqld]
secure-file-priv=/tmp

快速导出

SELECT * FROM egon_test.employeeINTO OUTFILE '/tmp/test.txt'FIELDS TERMINATED BY ','      -- 定义字段分隔符OPTIONALLY ENCLOSED BY '"'    -- 定义字符串使用什么符号括起来LINES TERMINATED BY '\n';     -- 定义换行符

导入

# 创建表,表结构与数据保持一致
create database if not exists test;
use test;
create table t1(id int not null unique auto_increment,name varchar(20) not null,sex enum('male','female') not null default 'male', age int(3) unsigned not null default 28,hire_date date not null,post varchar(50),post_comment varchar(100),salary double(15,2),office int, depart_id int
);# 快速导入
LOAD DATA INFILE '/tmp/test.txt'INTO TABLE test.t1FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"'LINES TERMINATED BY '\n';
http://www.jsqmd.com/news/628698/

相关文章:

  • StructBERT镜像部署常见问题解决:模型加载失败排查指南
  • Kubernetes探针与容器钩子实战指南:从配置到优化
  • Qwen3-14B代码解释效果:将100行Python重构为可读注释+优化建议
  • 保姆级教程:用WebRTC-streamer在5分钟内搭建RTSP摄像头监控系统(含Docker配置)
  • 如何用开源AI工具5分钟完成专业视频字幕制作
  • 邢台斜切鱼片机多少钱,巨鹿县建功机械制造厂产品价格贵吗? - 工业品网
  • 2026年1吨悬臂吊梯队排行:360度悬臂吊、3吨悬臂吊、5吨悬臂吊、悬臂吊厂家、无轨地平车、无轨电动地平车、无轨电动平车选择指南 - 优质品牌商家
  • 5个理由告诉你为什么GHelper是华硕笔记本的最佳性能管理工具
  • MAA明日方舟小助手:基于图像识别技术的游戏自动化助手深度解析
  • OWL ADVENTURE处理复杂表格图像:从截图到结构化数据
  • 抖音批量下载终极指南:高效采集用户主页视频与直播的完整方案
  • IEEE Access投稿全流程指南:从初稿到终稿的实战经验分享
  • 有企业资质认证的斜切鱼片机厂家推荐哪家 - 工业推荐榜
  • GetQzonehistory:一键永久备份QQ空间说说的完整指南
  • Docker实战:通义千问3-Reranker-0.6B微服务部署完整流程
  • STM32实战:双滤波算法在传感器数据处理中的应用(附源码)
  • 2026届最火的六大AI学术网站解析与推荐
  • AScript动态脚本多语言环境支持
  • Intv_AI_MK11 自动化办公助手:Python 脚本生成与执行
  • 千问3.5-2B健身行业:运动姿势图识别、器械使用图理解与训练指导生成
  • 2026年佛山音乐品牌排名,德尚音乐音乐业务、服务及创新成果哪家强 - 工业品牌热点
  • Wnt/β-catenin信号通路在组织修复与再生中的关键作用及机制解析
  • MoveIt! IKFast插件配置避坑指南:从‘GetFreeParameters’报错到成功编译的完整流程
  • 终极指南:如何让Mac原生支持MKV等所有视频格式预览
  • Agent 的记忆机制
  • 告别误码:手把手教你配置GT收发器的8B10B编码与Comma对齐(附Vivado工程)
  • 电商人必备!用Qwen-Image-2512-SDNQ快速生成商品主图,提升工作效率
  • GHelper革命性硬件控制工具:解放华硕笔记本性能的终极解决方案
  • 万物识别镜像应用案例:电商商品自动分类、智能相册整理实战
  • 从模型到部署:四大推理引擎(ONNX Runtime、OpenVINO、TensorRT、ncnn)的选型实战指南