12数据的约束

数据的约束

1. 简介

constrant约束是对表中数据的一种限制,保证数据的完整性和有效性

2. 约束的分类

有五种约束

主键约束 primary key 用来唯一标识表中的每一条记录,保证数据的完整性

唯一约束 unique 不允许出现重复值

检查约束 check 也叫用户自定义约束,判断表中的数据是否符合条件

非空约束 not null 设置某个字段不能为null值,提示:null 不是空值,不是空字符串,不是0

外键约束 foreign key 约束俩表之间的关联关系

补充:如性别只能取男或女,年龄在18~30之间

3. 添加约束

方式一:在创建表时添加约束 约束没有名称

create tabel student --学生表
(id int primary key,
name varchar(10) not null,
age int check(age>=18 and age<=30),
sex varchar(8) not null check(sex='male' or sex='fmale'),
ID card varchar(18) unique,
class_id int,
foreign key (class_id reference class(c_id))
);
create table class --班级表
(
c_id int primary key,
c_name varchar() not null,
C_info varvhar(100)
);

查看所有信息约束:

show create table 表名;

为约束指定名称

create table student
(
id int,
name varchar(20) not null,
age int,
sex varchar(10),
class_id int ,
constraint ck_id primary key(id),
constraint ck_age check(age>=18 and age<=30),
constraint ck_sex check(sex in('male','female')),
constraint up_ifcarf upique(id card),
constraint fk_class_id foreign key (class_id) vefevences class c_id);
4. 删除约束:

语句

删除主键约束:alter table 表名 drop primary key;

删除外键约束:alter table 表名 drop foreign key 约束名称;

删除唯一索引约束:alter table 表名 index 约束名称;

删除非空约束:alter table 表名 modify 列名 数据类型 null;

注意事项:

创建表时必须先创建父表再创建子表

删除表时先删除子表再删除父表

可以创建表时指定级联删除,当主表数据被删除时将自动删除子表中的相关数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值