当前位置: 首页 > news >正文

使用 mysqldump 获取 MySQL 表的完整创建 DDL

要获取 MySQL 中某个表的完整创建 DDL(仅结构,不含数据),可以使用 mysqldump 工具的以下命令:

基本命令格式

bash

mysqldump -h [主机名] -u [用户名] -p --no-data --single-transaction --routines --triggers --add-drop-table [数据库名] [表名]

实际示例(获取 class_students 表的 DDL)

bash

mysqldump -h localhost -u root -p --no-data --single-transaction --routines --triggers --add-drop-table --compact --complete-insert school_db class_students

参数说明

参数说明
-h指定 MySQL 主机地址
-u指定用户名
-p提示输入密码
--no-data只导出表结构,不导出数据
--single-transaction使用事务保证数据一致性
--routines包含存储过程和函数
--triggers包含触发器
--add-drop-table在 CREATE TABLE 前添加 DROP TABLE 语句
--compact产生更紧凑的输出
--complete-insert使用完整的 INSERT 语句格式

输出示例

执行命令后会得到类似这样的完整 DDL:

sql

DROP TABLE IF EXISTS `class_students`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `class_students` (`student_id` int NOT NULL AUTO_INCREMENT,`student_name` varchar(50) NOT NULL,`gender` enum('男','女') NOT NULL,`age` tinyint unsigned NOT NULL,`birth_date` date DEFAULT NULL,`address` varchar(100) DEFAULT NULL,`phone` varchar(20) DEFAULT NULL,`email` varchar(50) DEFAULT NULL,`enrollment_date` date NOT NULL,`class_id` int NOT NULL,PRIMARY KEY (`student_id`),KEY `idx_class_id` (`class_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

其他有用选项

  1. 获取更详细的元数据信息:

bash

mysqldump --no-data --tab=/tmp --fields-terminated-by=, --fields-enclosed-by='"' --lines-terminated-by=0x0d0a school_db class_students
  1. 将输出保存到文件:

bash

mysqldump -u root -p --no-data school_db class_students > class_students_ddl.sql

这样导出的 DDL 包含了完整的表结构定义,包括字段类型、约束、索引、存储引擎和字符集等信息,可以完全用于重建相同的表结构。

相关文章:

  • 如何在WordPress网站中添加相册/画廊
  • PyTorch 2.1新特性:TorchDynamo如何实现30%训练加速(原理+自定义编译器开发)
  • 车载通信网络 --- OSI模型:网络层
  • 国芯思辰| 同步降压转换器CN2020应用于智能电视,替换LMR33620
  • 数据结构期末模拟试卷
  • 2025年上半年第2批信息系统项目管理师论文真题解析与范文
  • pgsql 查看每张表大小
  • Python实战:打造高效通讯录管理系统
  • DD3118替代GL3213S 免晶振USB3.0读卡器控制芯片
  • C3P0连接池的使用方法和源码分析
  • 基于Python技术的面部考勤微信小程序的设计与实现
  • WPF【11_2】WPF实战-重构与美化(Entity Framework)-示例
  • Python深度挖掘:openpyxl与pandas高效数据处理实战
  • [问题解决]:Unable to find image ‘containrrr/watchtower:latest‘ locally
  • Python实现自动物体识别---基于深度学习的AI应用实战
  • Orpheus-TTS:AI文本转语音,免费好用的TTS系统
  • 吉林省CCPC与全国邀请赛(东北地区赛)游记
  • Visual Studio编译当前文件
  • 【运维自动化-标准运维】如何实现在不同步骤间传递参数
  • JDBC基本操作
  • 做网站可以使用免费空间吗/seo和sem是什么
  • 手机网站开发怎么收费/优秀的营销策划案例
  • 武汉培训网站建设/搜索引擎优化的主要工作
  • 微信网站开发需要什么知识/百度一下百度一下你就知道
  • 深圳广科网站建设/常用的网络营销策略有哪些
  • 哔哩哔哩免费安装/南通seo网站优化软件