Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > Mysql的Constraint约束

Mysql中的SQL约束Constraint有哪几种

作者:加油当当

这篇文章主要介绍了Mysql中的SQL约束Constraint有哪几种,约束是为了使表中的数据有效,常见的约束有非空约束、唯一性约束、主键约束、外键约束、检查约束,需要的朋友可以参考下

常用约束

not null

只有列级约束,没有表级约束(也就是说,只能约束某个字段值不为空)

create table t_student(
student_name         varchar(25) not null,    
)

unique

既有列级约束,也有表级约束; unique约束修饰的字段具有唯一性,不能重复。 但可以是NULL,NULL不是值,所以多个NULL不是重复

列级约束

create table t_user(
id int,
username varchar(255) unique
);

多个字段联合起来添加1个约束unique 【表级约束】

create table t_user(
id int,
usercode varchar(255),
username varchar(255),
unique(usercode,username) 
);

主键约束

primary key:既有列级约束,也有表级约束; 主键相关的术语?                 

主键约束 : primary key

主键字段 : id字段添加primary key之后,id叫做主键字段

主键值 : id字段中的每一个值都是主键值。

主键特点:不能为NULL,也不能重复 一张表的主键约束只能有一个; 有表级约束也有列级约束

表级约束

create table t_user(
id int,
username varchar(255),
primary key(id)                  
);

列级约束

create table t_student()
student_id          int(10)  primary key,    
student_name         varchar(20) not null,
sex                char(2)  default  'm',
birthday        date,
email                varchar(30)  ,
classes_id        int(3)        
)

主键值自增

drop table if exists t_user;
create table t_user(
id int primary key auto_increment, 
username varchar(255)
);

外键约束

关于外键约束的相关术语:

外键可以为NULL;

如果表中某个字段为外键字段,则该字段的值必须来源参照表的主键;

外键主要是维护表之间的关系的,主要是为了保证参照完整性,如果表中的某个字段为外键字段,那么该字段的值必须来源于参照的表的主键。

顺序要求:

create table t_class(
cno int,
cname varchar(255),
primary key(cno)
);
create table t_student(
sno int,
sname varchar(255),
classno int,
primary key(sno),
foreign key(classno) references t_class(cno)
);
  1. 级联更新与级联删除 父表中的数据更改,子表中的数据也会跟着变动。
  2. 父表中的数据删除,子表中的数据也会删除。

到此这篇关于Mysql中的SQL约束Constraint有哪几种的文章就介绍到这了,更多相关Mysql的Constraint约束内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文