数据库基础-约束

 数据库笔记链接

         数据库基础-SQL语句

         数据库基础-函数

         数据库基础-约束

        数据库基础-多表查询

1.概念:约束的作用于表中字段上的规则,用于现在存储在表中的数据

2.目的:保证数据库中数据的正确、有效性和完整性。

3:分类:

数据库基础-约束_第1张图片

主键约束(PRIMARY KEY,缩写 PK)

        是数据库中最重要的一种约束,其作用是约 束表中的某个字段可以唯一标识一条记录。因此,使用主键约束可以快速查找表中的记录。
        就像人的身份证、学生的学号等等,设置为主键的字段取值不能重复(唯一),也不能为空,否则无法唯一标识一条记录。

auto_increment字段

我们通常希望在每次插入新记录时,自动地创建主键字段的值。不必再输入设置改字段的值,AUTO_INCREMENT 的开始值是 1,每条新记录递增 1。

数据库基础-约束_第2张图片

-- 通过上面的信息创建一个新表

create table user(
    id int primary key auto_increment,       -- 主键, 自动增长
    name varchar(10) not null unique,         -- 非空, 唯一
    age int check(age > 0 && age <= 120),	  -- 大于0且小于等于120	
    status char(1) default('1'),
    gender char(1) check(gender in('男', '女'))
) comment '学生信息表';

 外键约束

        MySQL的外键约束用来在两个表数据之间建立链接,其中一张表的一个字段被另一张表中对应的字段约束。也就是说,设置外键约束至少要有两种表,被约束的表叫做从表(子表),另一张叫做主表(父表),属于主从关系。

        其中主表中的关联字段叫做主键,外表中的关联字段叫做外键。

外键约束主要作用就是能够让表与表之间的数据建立关联,使数据更加完整,关联性更强。

-- 添加外键方法
alter table 子表名 add constraint 外键名  foreign key (外键字段名) references 主表(主表列名);

-- 删除外键
alter table 子表名 drop foreign key 外键名;

外键删除/更新的行为

数据库基础-约束_第3张图片

alter table 表名 add constraint 外键名称 froeign key(外键字段名) references 主表名(主表字段名)
on update cascade on delete cascade; -- 约定更新或删除的行为,此处约定为cascade行为

-- 这里删除主表中的记录信息,子表中的一整条信息都会随之删除

-- 如果删除使用另一个行为, set null
-- 主表删除后,子表外键信息仅变为null,其他不发生改变。

你可能感兴趣的:(#+数据库,数据库)