MySQL中对表的约束-----主键

用主键primary key来约束的字段里的数据不能重复,不能为空,一张表中最多只能有一个主键

  • 主键可以在创建表的时候指定,也可以在创建表完成后追加。
    例:创建表的时候直接在字段上指定主键
create table tt1(
    id int unsigned primary key comment '学号不能为空',
    name varchar(20) not null);

MySQL中对表的约束-----主键

  • 如果有多个字段需要作为主键,可以使用复合主键
 create table tt2(
     id int unsigned,
     course char(10) comment '课程代码',
     score tinyint unsigned default 60 comment '成绩',
      primary key(id, course)
     );

MySQL中对表的约束-----主键

  • 表创建好后再次追加主键
    语法:
alter table 表名 add primary key(字段列表)

例:

 create table tt3(
     id int,
     name varchar(20)
     );

MySQL中对表的约束-----主键
追加主键

 alter table tt3 add primary key(id);

MySQL中对表的约束-----主键

  • 主键对表的约束就是主键对应的字段不能重复,一旦重复,就会操作失败
    例:向表3中插入两条数据,这两条数据的id相同
insert into tt3 values(1,'calm');
insert into tt3 values(1,'hellon');

MySQL中对表的约束-----主键
因为id是主键,不能重复,所以第二条数据插入失败。

  • 删除主键
    语法:
alter table 表名 drop primary key;

例:删除tt3的主键

alter table tt3 drop primary key;

MySQL中对表的约束-----主键