MySQL实际项目中常用的 DDL 模板

 更新时间:2025年12月10日 16:20:24   作者:QAQalone  
本文详细介绍了数据库表的常见操作,包括创建带审计字段和索引的模板、修改表结构(如新增、删除、修改字段)、索引管理(新增、删除普通、唯一索引及联合索引)、外键约束的新增和删除、表结构变更(如重命名表、设置字符集)以及删除表,感兴趣的朋友跟随小编一起看看吧

✅ 一、建表模板(带审计字段 + 索引)

CREATE TABLE `hot_campaign` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `campaign_name` VARCHAR(64) NOT NULL COMMENT '活动名称',
    `site` VARCHAR(32) NOT NULL COMMENT '站点',
    `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1启用 0停用',
    `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `created_by` VARCHAR(16) DEFAULT NULL COMMENT '创建人工号',
    `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `updated_by` VARCHAR(16) DEFAULT NULL COMMENT '更新人工号',
    PRIMARY KEY (`id`),
    KEY `idx_site` (`site`),
    KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='营销活动表';

✅ 二、修改表结构(ADD / DROP / CHANGE / MODIFY)

1)新增字段

ALTER TABLE `hot_campaign`
ADD COLUMN `last_updated_staff` VARCHAR(16) DEFAULT NULL COMMENT '最后更新人工号';

2)删除字段

ALTER TABLE `hot_campaign`
DROP COLUMN `last_updated_staff`;

3)修改字段类型(MODIFY)

仅修改类型,不改字段名

ALTER TABLE `hot_campaign`
MODIFY COLUMN `campaign_name` VARCHAR(128) NOT NULL COMMENT '活动名称';

4)修改字段名 + 字段类型(CHANGE)

ALTER TABLE `hot_campaign`
CHANGE COLUMN `status` `campaign_status` TINYINT NOT NULL DEFAULT 1 COMMENT '活动状态';

5)修改字段默认值

ALTER TABLE `hot_campaign`
ALTER COLUMN `status` SET DEFAULT 1;

✅ 三、索引相关(INDEX / UNIQUE / DROP)

1)新增普通索引

ALTER TABLE `hot_campaign`
ADD INDEX `idx_name` (`campaign_name`);

2)新增联合索引

ALTER TABLE `hot_campaign`
ADD INDEX `idx_site_status` (`site`, `status`);

3)新增唯一索引

ALTER TABLE `hot_campaign`
ADD UNIQUE INDEX `uk_site_name` (`site`, `campaign_name`);

4)删除索引

ALTER TABLE `hot_campaign`
DROP INDEX `idx_site_status`;

✅ 四、外键(FOREIGN KEY)

1)新增外键约束

ALTER TABLE `coupon`
ADD CONSTRAINT `fk_coupon_campaign`
    FOREIGN KEY (`campaign_id`)
    REFERENCES `hot_campaign` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE;

2)删除外键

ALTER TABLE `coupon`
DROP FOREIGN KEY `fk_coupon_campaign`;

✅ 五、表结构变更

1)重命名表

RENAME TABLE `hot_campaign` TO `hot_campaign_v2`;

2)设置表的字符集

ALTER TABLE `hot_campaign`
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

✅ 六、删除表(DROP)

DROP TABLE IF EXISTS `hot_campaign`;

到此这篇关于MySQL实际项目中常用的 DDL 模板的文章就介绍到这了,更多相关mysql ddl模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL聚合查询案例讲解

    MySQL聚合查询案例讲解

    这篇文章主要介绍了MySQL聚合查询案例讲解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 在linux命令下导出导入.sql文件的方法

    在linux命令下导出导入.sql文件的方法

    这篇文章主要介绍了在linux命令下导出导入.sql文件的方法,具有很好的参考价值,给大家做个参考,跟随小编过来看看吧
    2018-05-05
  • MySQL 全文索引的原理与缺陷

    MySQL 全文索引的原理与缺陷

    这篇文章主要介绍了MySQL 全文索引的原理与缺陷,帮助大家更好的理解和使用MySQL中的索引,感兴趣的朋友可以了解下
    2020-12-12
  • MyEclipse连接MySQL数据库图文教程

    MyEclipse连接MySQL数据库图文教程

    这篇文章主要为大家详细介绍了MyEclipse连接MySQL数据库图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 浅谈MySQL如何优雅的做大表删除

    浅谈MySQL如何优雅的做大表删除

    这篇文章主要介绍了浅谈MySQL如何优雅的做大表删除,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Mysql创建视图中文乱码如何修改docker里的配置

    Mysql创建视图中文乱码如何修改docker里的配置

    这篇文章主要介绍了Mysql创建视图中文乱码如何修改docker里的配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-10-10
  • Mysql的DQL查询操作全面分析讲解

    Mysql的DQL查询操作全面分析讲解

    DQL(Data Query Language 数据查询语言):用于查询数据库对象中所包含的数据。DQL语言主要的语句:SELECT语句。DQL语言是数据库语言中最核心、最重要的语句,也是使用频率最高的语句
    2022-12-12
  • mysql exists与not exists实例详解

    mysql exists与not exists实例详解

    这篇文章主要介绍了mysql exists与not exists实例详解的相关资料,鉴于 not exists 的效率往往要高于 not in , 所以一般情况下会使用前者替代后者,需要的朋友可以参考下
    2017-07-07
  • MySQL查看数据表锁定的方法(常用查询命令)

    MySQL查看数据表锁定的方法(常用查询命令)

    文章介绍了如何在MySQL中排查锁表情况,文章提供了解决锁表问题的建议,如使用KILL命令终止阻塞进程,并优化SQL语句和事务处理,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-10-10
  • Mysql使用全文索引(FullText index)的实例代码

    Mysql使用全文索引(FullText index)的实例代码

    使用索引时数据库性能优化的必备技能之一,下面这篇文章主要给大家介绍了关于Mysql使用全文索引(FullText index)的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04

最新评论