Skip to content

Latest commit

 

History

History
65 lines (41 loc) · 1.67 KB

File metadata and controls

65 lines (41 loc) · 1.67 KB

表的导出和导入

除了整库备份与恢复,实际工作中也经常需要导出或导入单张表的数据,例如导出报表、做数据交换、迁移部分数据等。

用SELECT...INTO OUTFILE导出文本文件

可以使用 SELECT ... INTO OUTFILE 把查询结果导出为文本文件:

SELECT id, name, mobile
INTO OUTFILE '/tmp/user.txt'
FROM user;

这种方式适合:

  • 导出查询结果
  • 生成文本报表
  • 向外部系统传输数据

用mysqldump命令导出文本文件

如果要导出整张表结构和数据,也可以使用 mysqldump

mysqldump -u root -p test user > user.sql

这会导出一份可用于恢复的 SQL 文件。

用mysql命令导出文本文件

在命令行环境中,也可以结合查询和重定向导出结果:

mysql -u root -p -e "SELECT * FROM user" test > user.txt

这种方式适合快速导出查询结果,但格式控制通常不如专门导出方案灵活。

用LOAD DATA INFILE方式导入文本文件

如果已经有结构化文本文件,可以用 LOAD DATA INFILE 快速导入:

LOAD DATA INFILE '/tmp/user.txt'
INTO TABLE user;

它适合大批量文本数据导入,通常效率较高。

用mysqlimport命令导入文本文件

也可以使用 mysqlimport 从文本文件快速导入:

mysqlimport -u root -p test /tmp/user.txt

它本质上也是一种快速导入文本文件的工具。

小结

导出和导入不一定总是围绕“整库备份”,很多时候更关注单表或文本数据交换。导出可用 SELECT ... INTO OUTFILEmysqldumpmysql,导入可用 LOAD DATA INFILEmysqlimport