实体完整性

一、实体完整性

  • 定义完整性是对关系中的记录唯一性。
  • 定义表的所有行能唯一的标识。
  • 表中主属性(字段)不能为null且不能有相同值。
  • 一般用主键、唯一索引、unique关键字来实现。

二、实体完整性-主键约束

主关键字(primary key)是表汇总的一个或多个字段,它的值用于唯一的标识表中的某一条记录。创建表的时候可以指定,也可以创建好以后指定主键。

说明:主键约束:唯一,不重复,不能为空,primary key一个表中有且只有一个主键约束。

1、创建表的同时创建主键约束

格式一:

create table表名(

列名1  数据类型  primary key,

列名2  数据类型

);

格式二:

create table表名(

列名1 数据类型,

列名2 数据类型,

constraint 主键约束的名字

格式三︰

create table表名(

列名1  数据类型,

列名2  数据类型,

primary key(列名1)

);

2、通过alter语句添加主键约束

  • Alter table user modify user_id INT(10)primary key;
  • Alter table user add primary key(user_id);
  • Alter table user add constraint pk_id primary key(user_id)

3、删除主键约束

Alter table user drop primary key;

4、联合主键

指的是把两个列看成是一个整体,这个整体是不为空,唯一,不重复。两个列共同作为表的主键。

(1)创建表的同时创建联合主键

格式一:

create table表名(

列名1数据类型,

列名2数据类型,

constraint  主键约束的名字  primary key(列名1,列名2));

格式二:

create table表名(

列名1  数据类型,

列名2  数据类型,

primary key(列名1,列名2));

(2)针对已经存在表,添加联合主主键

格式一:

alter table 表名 add primary key(列名1,列名2);

格式二∶

alter table表名 add constraint 主键约束的名字 prirbary key(列名1,列各2);

三、实体完整性-唯一性约束

  • 唯一约束是指定table的列或列组合不能重复,保证数据的唯一性;
  • 唯一约束不允许出现重复的值,但可以为多个null;
  • 同一个表可以有多个唯一约束,多个列组合的约束;
  • 如果不给唯一约束名称,默认名称和列名相同;
  • MySQL会给唯一约束的列上默认创建一个唯一索引。

1、添加唯一性约束

格式一

create table表名(

列名1数据类型,

列名2数据类型,

constraint  唯一约束的名字 unique(列名1),

constraint  唯一约束的名字

);

格式二:

create table表名(

列名1 数据类型 unique,

列名2 数据类型 unique,

列名3 数据类型

)

2、针对已经存在的表,添加唯一约束

格式: alter table表名add unique(列名1,列名2])

3、删除唯一约束

格式:alter table表名drop index唯雄一约束的名字;

posted @ 2021-06-20 18:24  Eleanor123  阅读(1774)  评论(0编辑  收藏  举报