主键:
主键:primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键;主 键所在的列通常是整数类型。
主键约束:主键对应的字段中不能重复,一旦重复,操作失败。
创建表的时候直接在字段上指定主键,
在创建表的时候,在所有字段之后,使用primary key(主键字段列表)来创建主键,如果有多个字段作为主 键,可以使用复合主键。
mysql> create table tt(
-> id int unsigned,
-> course char(10) comment '课程代码',
-> score tinyint unsigned default 60 comment '成绩',
-> primary key(id, course)--此即为复合主键
当表创建好以后,可以再次追加主键
alter table 表名 add primary key(字段列表)
删除主键:
alter table 表名 drop primary key;
外键:
外键用于定义主表和从表之间的关系:外键约束主要定义在从表上,主表则必须是有主键约束或unique约束。当 定义外键后,要求外键列数据必须在主表的主键列存在或为null
foreign key (字段名) references 主表(列)
唯一键
一张表中有往往有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键:唯一键就可以解决表中有 多个字段需要唯一性约束的问题。
唯一键的本质和主键差不多,唯一键允许为空,而且可以多个为空,空字段不做唯一性比较。