mysql学习笔记-外键约束|唯一约束|非空约束

唯一约束

create table user5(id int,name varchar(20));
alter table user add unique(id);
在这里插入图片描述
或者这样
create table user6(id int unique,name varchar(20));直接在字段后面添加
在这里插入图片描述
删除唯一约束
alter table user6 drop index id;
key哪里的uni不见了
在这里插入图片描述
用modify的方式添加
alter table user6 modify id int unique;
在这里插入图片描述
小结:
1、建表的时候添加
2、使用add方法添加
3、使用modify方法添加

非空约束

create table use7(id int,name varchar(20));
在这里插入图片描述
在Null哪里是YES
修改一下
alter table use7 modify id int not Null;
设置id不能为空
在这里插入图片描述

设置默认值

create table user8(id int,name varchar(20),age int default 10);
插入一条数据 没有年龄,会自动补全默认年龄
在这里插入图片描述

外键约束

涉及两个表,父表(主表),子表(副表)
班级表为父表
create table classes(id int primary key,name varchar(20));
学生表为子表,外键为父表中的id
create table students(id int primary key,name varchar(20),class_id int,foreign key(class_id) references classes(id));

直接在子表中添加会报错:因为父表为空,没有班级为2的班
insert into students values(2,‘李四’,2);
在这里插入图片描述
父表添加之后就成功了:
insert into classes values(2,‘一班’);
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值