数据库约束 约束类型: NOT NULL:不为空 UNIQUE:唯一,不能重复 DEFAULT:默认值 PRIMARY KEY:主键,既要满足:NOT NULL和UNIQUE(既不为空又要唯一) FOREIGN KEY:外键 CHECK
NULL约束: 创建表时,可以制定某列不能为空: create table student( -> sn int not null, -> name varchar(20) -> ); 若输入:insert into student values(null,'sl'); //会出现错误,因为学号能不为null
如果想删除一个表,有就删除,没有就不删除,不会出错的指令:drop table if exists student; //如果存在student这张表则删除
【主键】 (学生表) create table student( id int primary key auto_increment, sn int unique, name varchar(20) default '不知道', classes_id int foreign key (classes_id) references classes(id) ); insert into student(sn,name) values(23,'s1'); insert into student(sn,name) values(24,'s1'); (auto_increment) 表示id每次自增+1
【外键】 foreign key (字段名) references 主表(列) 主表就是要关联的那个表 (班级表) create table classes( id int primary key auto_increment. name varchar(20) ); 外键是多对一中的多里面设置外键关联一那张表, 例如学生和班级,学生为多,班级为一,所以在学生表里,设置外键关联班级中的id列 //把学生s1插入到2020届班中 insert into classes (id,name) values (1,'2020届班'); insert into student (sn,name,classes_id) values (23,'s1',1);
