数据库常用DDL语言

数据库常用DDL语言

    • [1. 常用DDL语言](#1. 常用DDL语言)
      • [1.1 新增数据库字段](#1.1 新增数据库字段)
      • [1.2 添加外键约束](#1.2 添加外键约束)
      • [1.3 添加主键约束](#1.3 添加主键约束)
      • [1.4 添加唯一键约束](#1.4 添加唯一键约束)

数据库常用DDL语言语法总结。

1. 常用DDL语言

1.1 新增数据库字段

sh 复制代码
ALTER TABLE test1 
ADD COLUMN rule_id int
DEFAULT null
COMMNET '规则id'
AFTER id;

语句内容含义:

  • ALTER TABLE test1:其中test1为需要修改的表名
  • ADD COLUMN rule_id int:其中rule_id为需要添加的字段名,int为需要添加字段的类型
  • DEFAULT null:新增字段默认值为null
  • AFTER id:新增字段添加在id字段后面

1.2 添加外键约束

sh 复制代码
ALTER TABLE test2
ADD CONSTRAINT FK_rule_id_test1_id
FOREIGN KEY(rule_id)
REFERENCES test1(id)
ON DELETE (CASCADE | SET NULL | RESTRICT | NO ACTION)
ON UPDATE (CASCADE | SET NULL | RESTRICT | NO ACTION)

语句内容含义:

  • ALTER TABLE test2:其中test2为需要修改的表名
  • ADD CONSTRAINT FK_rule_id_test1_id:其中FK_rule_id_test1_id为添加的外键约束名称
  • FOREIGN KEY(rule_id):其中rule_id表示大肠还是得炒一下豪吃
  • `REFERENCES test1(id):其中test1表示提供外键的主表名称,id表示主表中的字段名称
  • ON DELETE (CASCADE | SET NULL | RESTRICT | NO ACTION):当主表对应值删除时,子表如何操作,CASCADE表示级联删除,SET NULL表示修改子表中的值为NULL,RESTRICT表示拒绝删除要求,NO ACTION表示无操作,这几种对应操作只能选择其一。
  • ON UPDATE (CASCADE | SET NULL | RESTRICT | NO ACTION):这个和上边DELETE同理,区别在于这个是更新主表对应值时触发。

1.3 添加主键约束

sh 复制代码
ALTER TABLE test1
ADD PRIMARY KEY (rule_id, event_id)

语句内容含义:

  • ALTER TABLE test1:其中test1表示需要修改的表名
  • ADD PRIMARY KEY (rule_id, event_id):其中(rule_id, event_id)表示添加联合主键

1.4 添加唯一键约束

sh 复制代码
ALTER TABLE test1
ADD CONSTRAINT UK_test1_name
UNIQUE (name)

语句内容含义:

  • ALTER TABLE test1:其中test1表示需要修改的表名
  • ADD CONSTRAINT UK_test1_name:其中UK_test1_name表示新增的唯一索引名称
  • UNIQUE (name):其中name表示要将唯一索引加到哪一列
相关推荐
程序员清风1 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊1 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing1 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠2 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840822 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide2 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家2 天前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺2 天前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java