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,‘一班’);
在这里插入图片描述

发布了16 篇原创文章 · 获赞 9 · 访问量 1046

猜你喜欢

转载自blog.csdn.net/qq_42871249/article/details/102410425