1.实体完整性:
主键唯一并且不能为空
2.主键的说明
-
主键是唯一标识元组的属性或属性集
-
主键一定是唯一性索引,唯一性索引不一定就是主键
-
一个表可以有多个唯一性索引(可以为空),但是只能有一个主键(不可为空)
-
主键设置时要遵循最小化原则
3.主键的设置方式
-
创表时设置主键
-
create table 表名(列名1 数据类型1 primary key,列名2 数据类型2, ...);
-
create table 表名(列名1 数据类型1 not null,列名2 数据类型2, ...,primary key(列名1));
-
-
在已经创建的表上设置主键
a.
alter table 表名 modify 列名 数据类型 primary key;
b.
alter table 表名 add 数据类型 primary key (列名);
-
联合主键的设置
a.
create table 表名(列名1 数据类型1 not null,列名2 数据类型2, ......,primary key(列名1,列名2,...));
b.
alter table 表名 add列名 数据类型 primary key (列名);
4.主键的删除
-
一般情况下
alter table 表名 drop primary key;
-
主键为自动增长列时
a. 了解自动增长列
设置为自动增长列需要满足的条件:①列的数据类型必须为int类型 ②该列必须为键
b. 主键的删除:
① 先删除自动增长:
alter table 表名 change 列名 列名(重命名) 数据类型;
② 再删除主键:
alter table 表名 drop primary key;