保证用户填入数据库的内容符合要求,即保证每一个数据库的实例符合标准
主键约束
每个表中都有一个主键
数据要唯一且不能为null,设置ID为主键
create table students(
id bigint not null auto_increment,
age bigint,
name varchar(20),
primary key(id),
);
联合主键
俩个字段的数据都相同时候才违法主键约束
create table students(
id bigint not null,
smun bigint not null,
age bigint,
name varchar(20),
primary key(id,smun),
);
唯一约束
unique表示这个值不能重复
alter table students add unique(name);
自动增长
auto_increment 每个表只能有一个,并且必须被索引
create table students(
id bigint not null auto_increment,
smun bigint not null,
age bigint,
name varchar(20),
primary key(id,smun),
);
参照完整性
- 新建2个表,一个为学生,另一个为学生的成绩
- 在成绩的表中增加一个字段,用来关联学生的主键,通常为id
- 设置sid为外键,和学生表的id建议约束
```sql alter table scores add contraint score_fk foreign key(sid) references students(id); 或者去除掉contraint就会默认为外键添加一个名字 alter table scores add foreign key(sid) references students(id);create table students(
id int not null auto_increment,
age bigint,
name varchar(20),
constraint students_pk primary key(id),
constraint students_uk unique(name),
);
create table scores(
id int not null auto_increment,
score int,
course varchar(20),
sid int,
constraint scores_pk primary key(id),
constraint scores_fk foreign key(sid) references students(id),
);
```