唯一约束
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,‘一班’);