按条件筛选后导出

数据和库一起全量导出往往太大,实际常常只要某段时间、某类状态的数据。mysqldump 用 --where 限定行,SELECT 则用 WHERE 子句,两者思路一致:先过滤再落地。

按条件筛选后导出要点

按条件筛选后导出示例

						# mysqldump 只导 2026 年以后的订单
						mysqldump -u root -p shop_db orders   --where="created_at ≥ '2026-01-01'" 用重定向写入 orders_2026.sql

						-- SELECT 版:把活跃用户导成文件
						SELECT id, username, created_at
						INTO OUTFILE '/var/lib/mysql-files/active_users.csv'
						FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
						FROM user
						WHERE is_active = 1 AND created_at ≥ '2025-06-01';
避坑提醒:--where 条件写错不会报错,只会安静地导出一个空文件或错误范围。导出前用同样的 WHERE 跑一遍 SELECT 看行数,能省掉很多返工。
按条件筛选后导出 · 数据导出 知识卡片
卡片 06 / 07 · 数据导出(1080×1440 速查卡片)

数据导出知识点