使用mysqldump命令导出表结构最简单的方法是:mysqldump -u用户名 -p密码 数据库名 -d --no-data > 表结构.sql。这条命令会只导出表结构而不包含数据,非常适合备份schema。执行后,你会得到一个.sql文件,里面全是CREATE TABLE语句。
方法一:mysqldump命令行工具
mysqldump是MySQL自带的工具,超级好用。基本语法:mysqldump -h主机 -u用户 -p密码 数据库名 表名 > 备份文件.sql。要只导出结构,加-d参数,比如mysqldump -u root -p test -d > structure.sql。记得输入密码后回车,它会快速生成文件。
导出单个表的结构
如果只想导出某个表,用mysqldump -u root -p dbname tablename -d > table.sql。-d参数确保不导出数据,只取结构。生成的文件可以用source命令导入其他数据库,完美备份表设计。
Navicat工具导出
在Navicat里右键数据库,选择“转储SQL文件”->“结构和数据”,但要只选结构就好。或者右键表->导出向导,选择SQL格式,勾选只结构。几秒钟就下载好了,比命令行直观。
phpMyAdmin网页方式
登录phpMyAdmin,选数据库,点“导出”标签,选择“结构”选项,格式SQL,点执行。下载的.sql文件纯净,只含表结构,适合分享或备份。没有命令行也能轻松搞定。
批量导出所有表
mysqldump -u root -p --databases db1 db2 --no-data > all_structure.sql。这样一次导出多个数据库的结构。--no-data就是关键,不带数据只结构,文件小速度快。
FAQ
Q: mysqldump导出结构后怎么导入?
A: 用mysql -u root -p dbname < structure.sql 命令导入。
Q: 忘记密码怎么导出?
A: 用sudo mysqldump,或者编辑my.cnf加skip-grant-tables重启MySQL。
Q: Windows下命令行在哪里执行?
A: 打开cmd,cd到MySQL bin目录,如C:/mysqlin。
Q: 导出的大表结构很慢怎么办?
A: 加--single-transaction参数加速锁定读。