• 实体完整性


    一、实体完整性

    • 定义完整性是对关系中的记录唯一性。
    • 定义表的所有行能唯一的标识。
    • 表中主属性(字段)不能为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唯雄一约束的名字;

    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    python 运行CMD和shell命令
    python 装饰器2 常用装饰器【@property,@x.setter,@x.deleter】
    正则表达式 python re正则模块
    Interesting Finds: 2008.01.06
    Interesting Finds: 2008.01.11
    Interesting Finds: 2007.12.25
    Interesting Finds: 2007.12.26
    Interesting Finds: 2008.01.04
    Interesting Finds: 2008.01.03
    Interesting Finds: 2008.01.09
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14907560.html
Copyright © 2020-2023  润新知