• 8、MySQL——数据的完整性


    目录

    一、数据完整性

    二、实体完整性

    1、主键约束(primary key)

    2、唯一约束(unique)

    3、自动增长列(auto_increment) 

    三、域完整性

    四、引用完整性(参照完整性)

    一、数据完整性

    作用:

    保证用户输入的数据保存到数据库中是正确的。

     完整性的分类:

    确保数据的完整性 = 在创建表时给表中添加约束

    实体完整性;

    域完整性;

    引用完整性; 

    二、实体完整性

    实体:即表中的一行(一条记录)代表一个实体(entity);

    实体完整性的作用:标识每一行数据不重复。

    约束类型:主键约束(primary key)、唯一约束(unique)、自动增长列(auto_increment0

    1、主键约束(primary key)

    注:每个表中要有一个主键。

    特点:数据唯一,且不能为null。

    添加主键的方式:

    (1) CREATE TABLE student(

            `id` INT PRIMARY KEY,

            `name` VARCHAR(50)

    );

    (2) CREATE TABLE student(

            `class` INT,

            `id` INT,

            `name` VARCHAR(50),

            PRIMARY KEY(`id`,`class`)

    );

    (3) CREATE TABLE student(

            `id` INT,

            `name` VARCHAR(50)

    );

    ALTER TABLE school ADD PRIMARY KEY(id);

    2、唯一约束(unique)

    特点:数据不能重复。 

    添加唯一约束的方式

    (1)CREATE TABLE student(

            `id` INT PRIMARY KEY,

            `name` VARCHAR(50) UNIQUE

    ); 

     (2)CREATE TABLE student(

            `id` INT PRIMARY KEY,

            `name` VARCHAR(50),

            UNIQUE(`name`)

    ); 

    (3) CREATE TABLE student(

            `id` INT PRIMARY KEY,

            `name` VARCHAR(50)

    ); 

    ALTER TABLE student ADD UNIQUE(`name`)

    3、自动增长列(auto_increment) 

    给主键添加自动增长的数值,列只能是整数类型。

    默认初始值是从1开始的。

    设置自动增长列的初始值

    ALTER TABLE `表名` auto_increment =初始值; 

    三、域完整性

    域完整性的作用:限制此单元格的数据正确,不对照此列的其它单元格比较

    域代表当前单元格

    域完整性约束:数据类型 非空约束(not null) 默认值约束(default)  

    check约束(mysql不支持)check(sex='男' or  sex='女')

    四、引用完整性(参照完整性)

     一个表中某个字段的数据来源于另外一个表中某一个字段数据。

    外键约束:FOREIGN KEY

    创建student表

    CREATE TABLE student(

           ` sid` INT PRIMARY KEY,

            `name` VARCHAR(50),

            `sex` VARCHAR(10)

    );

    添加外键的两种方式: 

    (1)创建score表

    CREATE TABLE score(

            `id` INT,

            `score` DOUBLE,

            `sid` INT,--外键的数据类型一定要与主键的类型一致。

            CONSTRAINT fk_score_sid FOREIGN KEY(sid) REFERENCES student(sid)

    ); 

    英文单词:  constraint  约束           references  参考

     这里的fk_score_sid只是个名字,随便起都行,最好要做到见名知意。

    (2) 

    ALTER TABLE score ADD CONSTRAINT fk_score_sid FOREIGN KEY(sid) REFERENCES student(sid);

     

  • 相关阅读:
    C语言刷题(一)
    Apache HttpClient库编写的Scala程序
    带着问题去分析:Spring Bean 生命周期 | 京东物流技术团队
    MySQL创建定时任务定时执行sql
    java计算机毕业设计医院远程诊断系统源代码+系统+数据库+lw文档
    Java反射,动态代理。笔记
    postman-接口自动化
    机器学习从入门到放弃:卷积神经网络CNN(二)
    Spring(01)
    google-app:签名文件错误导致的上传失败
  • 原文地址:https://blog.csdn.net/CSDN_Loveletter/article/details/127762982