SQL约束

约束的概念和分类

  1. 约束的概念
  • 约束是作用于表中列上的规则,用于限制加入表的数据
  • 约束的存在保证了数据库中数据的正确性、有效性和完整性
  1. 约束的分类
约束名称 描述 关键字
非空约束 保证列中所有数据不能有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. 概念
  • 外键用来让两个表的数据之间建立连接,保证数据的一致性和完整性
  1. 语法
-- (1)创建表时添加约束
create table 表名(
	列名,数据类型
    ...
	constraint 外键名称 foreign key 设为外键的列名 references 主表 主表主键名);
	
	
-- (2)建完表后添加外键约束
alter table 表名 add constraint 外键名称 foreign key 要设为外键的字段名 references 主表名称 主表主键名;

-- (3)删除约束
alter table 表名 drop foreign key 外键名称;

注意:外键约束起名规则一般遵循fk_主表名__从表名的格式

posted @   萧何i  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示