首页/数据/数据库速查/mysqldump 条件导出(--where 按行过滤)
备份与恢复56 条

mysqldump 条件导出(--where 按行过滤)

用 --where 给导出加 WHERE 条件:按时间范围导出增量、给业务方导出子集数据都靠它,语法与 SELECT 的 WHERE 完全一致。

数据库速查数据更新于 2026-10-12
用途按行条件过滤导出的数据
语法mysqldump db table --where="条件"
限制多表导出时同一条件会套用到每张表

按时间窗导出

按时间窗导出
mysqldump -uroot -p --no-create-info --skip-triggers \
  appdb orders --where="created_at >= '2026-01-01' AND created_at < '2026-10-01'" \
  > orders_q3.sql
条件里引用列名必须所有目标表都存在,否则直接报 Unknown column。

易错点

  • 单库多表导出时同一 WHERE 会逐表执行,只适合结构同类的表集合
  • shell 里引号嵌套容易写错:命令行外层双引号、SQL 内层单引号,顺序写反直接语法报错

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump --where

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌