# How to use a where clause with mysqldump
mysqldump allows you to use a
WHERE clause when creating a backup and only the rows fulfilling the given condition will be included in the dump.
# How to use the --where flag?
# Dump only the rows with the id column bigger than 500
mysqldump my_db_name my_table_name --where="id > 500" > my_backup.sql
# Dump only the rows with the created_at column in the given interval
mysqldump my_db_name my_table_name --where="date between '2020-09-01' and '2020-09-30'" > my_backup.sql
# Apply multiple where conditions
--where flag can be extended to contatename multiple conditions like in a normal query. The following command will dump all rows from the
users table with the
id column bigger than 500 and the
disabled colum set to 0.
mysqldump my_db_name users --where="id > 500 and disabled = 0" > my_backup.sql
The column (or columns) specified in the
--where flag must exist in all the tables included in the dump, otherwise an
Unknown column error will be thrown. In case the column does not exist on all the tables, we recommend including in the dump only the tables that have the specified column.