测牛学堂:2023软件测试学习指南之sql语句深入学习(sql表字段的约束类型讲解)

78 阅读1分钟

检查约束

严格上说,mysql是不支持检查约束的,但是mysql提供了可选内容的约束。

也就是说,字段只能在给出的范围内选择。

语法:

字段名 enum('a1','a2',...)
# 方法2
字段名 set('a1','a2')

注意:enum只能从指定的值里面选一个,set可以选择多个。

唯一约束

被唯一约束字段,它的值不可以重复。

语法:

字段名 数据类型 unique

注意:

1 unique使用的时候,字段的业务含义需要符合唯一性的要求。比如手机号码,身份证号码,这种就是唯一的,不会重复的。

2 unique不能和默认值约束一起使用,因为他们冲突。

外键约束

外键是处理表和表之间关系的。

字段被其他表引用的表,就是主表。而引用其他表的字段的表,就是从表。

外键定义:外键的本质上是一个字段。它的作用是从表中用来和主表建立关联关系的字段。

使用外键:foreign key(no) references stuednt(stuNo)

foreign key(no) 设置本表中的某个键 为外键

references student(stuNo) 和主表student 的stuNo关联

在定义的使用:

create table table1(
  id int primary key,
  no int,
  degree int,
  foreign key(no) references student(stuNo) ,
)

给已经创建好的表添加外键:

alter table table1 add foreign key(tno) references table2(tno) on delete  restrict on update cascade

table1表的tno 引用table2的tno作为外键,不允许删除主键,可以和主键一起变更。

删除外键

alter table  table1 drop foreign	key 外键名