SQL约束
约束的概念和分类
- 约束的概念
- 约束是作用于表中列上的规则,用于限制加入表的数据
- 约束的存在保证了数据库中数据的正确性、有效性和完整性
- 约束的分类
约束名称 | 描述 | 关键字 |
---|---|---|
非空约束 | 保证列中所有数据不能有Null值 | not null |
唯一约束 | 保证列中所有数据各不相同 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key |
检查约束 | 保证列中的值满足某一条件(mysql不支持检查约束) | check |
默认约束 | 保存数据时,未指定值则采用默认值 | default |
外键约束 | 外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性 | foreign key |
语法:
在创建列的时候跟在数据类型后面,如:
create table class(
id int primary key, -- 主键约束,一张表只能有一个主键约束
name varchar(50) not null, -- 非空约束
joindate date not null,-- 非空约束
salary double(7,2) not null,-- 非空约束
bonus double (7,2) default 0,-- 默认约束
)
主键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。
外键约束
外键:外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那它就可以是A表的外键。
- 概念
- 外键用来让两个表的数据之间建立连接,保证数据的一致性和完整性
- 语法
-- (1)创建表时添加约束
create table 表名(
列名,数据类型
...
constraint 外键名称 foreign key 设为外键的列名 references 主表 主表主键名);
-- (2)建完表后添加外键约束
alter table 表名 add constraint 外键名称 foreign key 要设为外键的字段名 references 主表名称 主表主键名;
-- (3)删除约束
alter table 表名 drop foreign key 外键名称;
注意:外键约束起名规则一般遵循fk_主表名__从表名的格式
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性