news 2026/5/16 13:21:07

SQL约束解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL约束解析

约束分类:

NOT NULL 非空约束:字段必须有值

UNIQUE 唯一约束:值不能重复,但允许多个 NULL

PRINARY KEY 主键约束:既是 NOT NULL 又是 UNIQUE

DEFAULT 默认约束: 保存数据时.如果未指定该字段的值,则采用默认值

CHECK 检查约束:保证字段满足某一个值

FOREIGN KEY 外键约束:用来让两张表的数据之间建立连接,保证数据的一致性和完整性

外键完整语法:

建表时一起创建

CREATE TABLE 主表 ( id INT PRIMARY KEY, name VARCHAR(20) ); CREATE TABLE 从表 ( id INT PRIMARY KEY, pid INT, -- 外键级联动作写在 REFERENCES 后面 CONSTRAINT fk_从表_主表 -- 外键名自定义 FOREIGN KEY (pid) -- 从表列 REFERENCES 主表(id) -- 主表列 ON UPDATE CASCADE -- 主表更新,从表同步 ON DELETE SET NULL -- 主表删除,从表置空 );

表已存在,事后追加:

ALTER TABLE 从表 ADD CONSTRAINT fk_从表_主表 FOREIGN KEY (pid) REFERENCES 主表(id) ON UPDATE CASCADE ON DELETE SET NULL;

5 种级联动作对照表:

NO ACTION /RESTRICT:删除/更新 如果存在关联,则拒绝主表操作

CASCADE: 更新/删除 同步更新/同步删除

SET NULL:删除/更新 外键列设为 NULL(从表该列需允许 NULL)

SET DEFAULT:删除/更新 外键列设为默认值

-- 1. 主表:班级 CREATE TABLE t_class ( class_id INT PRIMARY KEY, cname VARCHAR(20) UNIQUE ); -- 2. 从表:学生 CREATE TABLE t_student ( stu_id INT PRIMARY KEY, sname VARCHAR(20) NOT NULL, class_id INT, age TINYINT CHECK (age BETWEEN 16 AND 30), -- 外键 CONSTRAINT fk_stu_class FOREIGN KEY (class_id) REFERENCES t_class(class_id) ON UPDATE CASCADE ON DELETE RESTRICT );
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 4:33:31

软件测试工具选型全景指南:从需求对齐到落地实践

为什么工具选型关乎测试成败 在快速迭代的软件开发周期中,测试工具已从辅助手段演进为质量保障的核心基础设施。据统计,超过67%的测试团队曾因工具选型不当导致项目延期或质量漏洞。2025年测试工具生态呈现两大趋势:AI驱动的智能测试平台快速…

作者头像 李华
网站建设 2026/5/11 17:10:01

自动化测试投资回报率(ROI)分析与实践指南

在软件开发周期不断缩短的当下,自动化测试已成为保障产品质量、提升测试效率的关键手段。然而,许多测试团队在推行自动化测试时面临共同困惑:如何量化自动化测试的投入产出比?本文将从测试从业者视角,深入解析自动化测…

作者头像 李华
网站建设 2026/5/1 10:39:42

企业微信群消息定时发送竟然这么简单?三步搞定让效率翻倍!

你是不是还在手动发送每天的晨会提醒?或者每到下班时间就急着往群里发日报?别折腾了,现在有个方法能让你彻底解放双手。想想看,每天固定要发的通知、报表、提醒,如果都能自动完成,那该多省心啊。连趣云控制…

作者头像 李华
网站建设 2026/5/16 12:21:06

--工具和MCP调用

1. 工程结构概览 Spring AI 提供了完整的工具调用(Tool Calling)能力,让 AI 模型可以调用外部服务。同时,Spring AI 还支持 MCP(Model Context Protocol),这是一个标准化的工具协议。 spring-a…

作者头像 李华
网站建设 2026/5/11 19:57:47

每日 AI 评测速递来啦(12.17)

司南Daily Benchmark 专区今日上新! KFS-Bench 首个面向长视频问答的关键帧采样评测基准,通过引入多场景标注,实现对采样策略直接且稳健的评估。 https://hub.opencompass.org.cn/daily-benchmark-detail/2512%2014017 Soul-Bench 一个面…

作者头像 李华