MYSQL数据库随笔【3】 建表约束
1.主键约束(primary key)
能够唯一的确定某个表中记录的一条数据,唯一,不重复且不为空。
create table `test1` ( create table `test2`(
`id` int(2) primary key , `id` int(2),
); `name` char (4),
primary key(id,name),
);
2.自增约束(一般和主键配套一起)
create table `test1`(
`id` int(2) primary key auto_increment,
`name` char(4) primary key
);
当使用 insert into 插入数据的时候,values(里面不需要加入id,只要加name就行)自增约束后的属性id会自动增加后添加到数据表中。
3.修改表结构,增加删除修改约束(对创建表后的一个约束性操作):
增加:
alter table test1 add primary key (id)
删除:
alter drop primary key
修改:
alter modify id int primary key ;
4.唯一性约束(unqiue)
不重复
alter add unqiue();
5.非空约束:(not null)
alter add(或者是modify)
6默认约束(当我们插入字段时候,没有传入参数,则会使用默认参数)
alter add (或者是modify)`sex` char default `男`;
7外键约束(有主表 子表,其中有个属性是相互关联的)
create table `class` (
`id` int(2) primary key,
`name` char(4) unique,
)
create table `student`(
`id` int(2) primary key ;
`name` char(4) unqiue ,
`class_id` int(2) ,
foreign key (class_id) reference classes(id)
);
主表是class ,子表是student 通过class的id进行表关联
1.主表中没有的数据值,在子表中不可以出现(id是班级的话,主表只有1234班,子表插入数据的时候不可以出现6班)
2.主表中的记录呗子表所引用关联,是不可以通过sql语句删除这条数据的。