260801-mysqldump导出指定表

  1. 全库导出
  2. mysql导出所有表的创建语句
  3. 🎯 基础用法:导出指定表
  4. ✂️ 只导出数据,不要表结构
  5. 🎯 按条件导出部分数据

全库导出

1
2
3
4
5
6
7
8
9
10
11
mysqldump -h 127.0.0.1 -P 3306 -u root -p ^
--single-transaction ^
--quick ^
--skip-lock-tables ^
--routines ^
--triggers ^
--events ^
--default-character-set=utf8mb4 ^
km_device > C:/owen/km_device_backup.sql

mysqldump -h 127.0.0.1 -P 3306 -u root -p --single-transaction --quick --skip-lock-tables --routines --triggers --events --default-character-set=utf8mb4 ry-vue > /opt/dump/km_device_backup.sql

表结构 + 表数据 + 触发器 + 存储过程/函数 + Event。

几个参数的作用:

  • --single-transaction:开启一致性事务快照,导出过程中通常不会锁住 InnoDB 表。
  • --quick:逐行读取数据,不把整张表一次加载到内存。
  • --skip-lock-tables:明确不执行 LOCK TABLES。
  • **不要加 --no-data**,这样就会同时导出表结构和数据。

mysql导出所有表的创建语句

1
2
3
4
5
6
7
mysqldump -u root -p --no-data 数据库名 > C:/owen/schema.sql

如果是远程 MySQL:
mysqldump -h 127.0.0.1 -P 3306 -u root -p --no-data km_device > C:/owen/km_device_schema.sql

如果你的目标是拿到一个数据库中所有表纯 CREATE TABLE SQL,尽量不带其他内容,我更推荐:
mysqldump -u root -p --no-data --skip-comments --skip-add-drop-table --skip-triggers --compact 数据库名 > C:/owen/create_tables.sql

其中:

  • –no-data:不导出数据
  • –skip-comments:不要版本、时间等注释
  • –skip-add-drop-table:不要 DROP TABLE
  • –skip-triggers:不导出触发器
  • -compact 会让结果更干净,比较适合拿去做数据库结构分析或给 AI 阅读。

🎯 基础用法:导出指定表

1
2
mysqldump -u 用户名 -p 数据库名 表名1 表名2 > 导出文件.sql
mysqldump -u root -p mydb users orders > users_orders.sql

✂️ 只导出数据,不要表结构

1
mysqldump -u root -p --no-create-info ry-vue production_data_202608 > production_data_202608.sql

🎯 按条件导出部分数据

1
mysqldump -u root -p mydb users --where="id > 100" > users_partial.sql
归档 GitHub