数据库常用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表示要将唯一索引加到哪一列
相关推荐
IT·陈寒20 小时前
当 JVM 开始“内卷”:一次性能优化引发的 GC 战争
java·jvm·性能优化
不会吃萝卜的兔子20 小时前
spring微服务宏观概念
java·spring·微服务
麦麦鸡腿堡20 小时前
Java的抽象类
java·开发语言
Java水解20 小时前
Go基础:Go语言中 Goroutine 和 Channel 的声明与使用
java·后端·面试
Chan1620 小时前
流量安全优化:基于 Nacos 和 BloomFilter 实现动态IP黑名单过滤
java·spring boot·后端·spring·nacos·idea·bloomfilter
静听山水20 小时前
SQLite
数据库·sqlite
草明21 小时前
clickhouse 检查是否有删除语句在执行
数据库·clickhouse
风语者日志21 小时前
攻防世界—easyupload
数据库·web安全·ctf·小白入门
小小爱大王21 小时前
AI 编码效率提升 10 倍的秘密:Prompt 工程 + 工具链集成实战
java·javascript·人工智能
彡皮21 小时前
qt实用学习案例:数据库设计+图表显示+model-view模式+样式表定制
数据库·qt·学习