MySQL完整性约束

一. 约束介绍

  约束条件与数据类型的宽度一样,都是可选参数.

  用于保证数据的完整性和一致性.

二. 约束分类

  1. primary key (pk)  表示该字段为该表的主键,可以唯一的标识记录

  2. foreign key (fk)  标识该字段为该表的外键

  3. not null  标识该字段不能为空

    默认为空, 设置不为空就必须要为字段赋值

  4. unique key (uk)  标识该字段的值是唯一的

  5. anto_increment  标识该字段的值自动增长(整数类型, 而且为主键)

  6. default  为该字段设置默认值

    默认为null, 如果设置了默认值,并且插入数据时不给该字段赋值时,使用默认值.

三 . 详细分类验证

  1. not null 和 default 

  

  

   2. unique

    ①. 单列唯一

    在mysql中称为单列唯一,即同一列内唯一

 

  

  

    将 name 字段设置为唯一, 不可以给 name 字段插入相同的值.

     ②. 联合唯一

   将id设置为单列唯一,将ip+端口设置为联合唯一,也就是ip+端口不可以相同,ip或端口相同可以.

   3. primary key

    在一个表中 : 单列可以做主键, 多列也可以做主键(复合主键)

    约束 : 字段的值不能为空而且唯一

    ①. 单列主键

  

  

    将id设置为主键, 主键唯一,而主键的值可以相同.

     ②. 复合主键  将多个字段一起设置为主键

    将ip+端口设置为联合主键,当ip+端口完全相同时,即使name字段的值不同也会报错

    而将其中一个端口修改之后,即使name字段的值相同也是可以插入表中的.

  4. auto_increment  自增长    

  

  将id设置为主键并且设置为自增长模式,插入数据时即使不插入id,表内也会自动生成数据id.并且每次 + 1 .

  也可以指定id 插入数据 :

  

  如果继续插入不指定 id 的数据, 会在之前的最后一条记录继续增长.

  

  如果将表内的数据全部删除之后再往这个表内查数据,id一样是在被删除数据的最后一条记录内的id数 + 1 :

  

  

  对应自增长来说,即使被删除的数据也拥有唯一的id.

  5. foreign key

    外键总结来说就是其他表的主键

    设置外键的目的是是某一张表的数据不要过于冗余,和编程中函数的思想相似.

    多表中,被关联的表是主表,关联表是从表.

    建表时要先建被关联表,后建关联表.    

 

转载于:https://www.cnblogs.com/dong-/p/9673387.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL完整性约束是用来确保数据库中的数据符合特定规则或条件的约束。这些约束可以分为以下几种类型: 1. 唯一约束:唯一约束用于确保列或列的组合中的值是唯一的。可以通过在创建表使用`UNIQUE`关键字来定义唯一约束,也可以使用`ALTER TABLE`语句添加唯一约束。例如,`ALTER TABLE employee ADD UNIQUE (e_name);` 2. 主键约束:主键约束用于唯一标识表中的每一行数据。主键必须是唯一且非空的。可以通过在创建表使用`PRIMARY KEY`关键字来定义主键约束。例如,`CREATE TABLE employee (e_id INT PRIMARY KEY, e_name VARCHAR(5), e_sex VARCHAR(5), e_age INT, d_id INT);` 3. 外键约束:外键约束用于确保表之间的关系的完整性。外键约束在一个表中创建,指向另一个表中的主键。可以通过在创建表使用`REFERENCES`关键字定义外键约束,也可以使用`ALTER TABLE`语句添加外键约束。例如,`ALTER TABLE employee ADD CONSTRAINT fk_d_id FOREIGN KEY (d_id) REFERENCES department (d_id);` 4. 检查约束:检查约束用于确保列中的值满足特定条件。可以在创建表使用`CHECK`关键字来定义检查约束,也可以使用`ALTER TABLE`语句添加检查约束。例如,`ALTER TABLE employee ADD CONSTRAINT ch_e_age CHECK (e_age >= 0);` 综上所述,MySQL完整性约束包括唯一约束、主键约束、外键约束和检查约束,用于确保数据库中的数据符合特定规则或条件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MySQL完整性约束](https://blog.csdn.net/kejiayuan0806/article/details/100766658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值