MYSQL基础---约束

数据约束针对表中的列加约束,为了保证数据库中数据的完整性,有效性从而对数据进行限制

实体完整性: 确保每条记录的唯一性,能够被唯一区分

  1. 主键约束(整数,字符串):primary key  特征:加了主键约束的列,值必须唯一,并且不能为空

针对主键约束的列会自动生成索引文件(提高查询效率). 主键列可以由一列构造,一个表中只能有一个主键,但是主键可以有多个列构造(联合主键)

  1. 自增约束(整形): auto_increment 特征:  自增约束只能加到整数类型的列上,一个表只能有一个列加自增约束。该列的值会有系统自动生成,数据也是唯一的,一般和主键约束一起使用               

1.系统自动生成唯一编号

2.自增约束必须在主键约束的基础上使用,主键列必须是整数类型

3.自增约束不一定保证连续性

4.自增约束会在前一条记录的基础上增1,默认从1开始

c.    唯一约束 :unique   特点:确保该列是唯一的,值允许null(可以有多个)

域完整性: 针对数据的取值做约束

非空约束   not null     特征:加了该约束的列,不能为空,该列必须有值

默认值约束   default     特征:加了默认值约束的列,如果没有提供值时自动用默认值替代。如果提供了值则用提供值的填充

外键约束  foreign key    references     特征:存在于多个表之间,如果要对这个列加外键约束。该列的值不能随便写

不写外键规则,但是存在外键约束,这种称为逻辑外键

定义外键规则,称为物理外键

a表被b表所依赖   b表是从表     a是主表  

  1. 有外键关联的两个表,从表插入的外键列的数据必须在主表中存在
  2. 主表中的数据被关联的情况下,不能被删除
  3. 主表中的数据被关联的情况下,不能修改
  4. 有外键关联的两个表,删除的时候,先删除从表再删除主表

on delete cascade  针对外键设置删除级联规则

主表数据变化,从表跟着变化:级联删除 (允许主表删除数据,主表删除的数据列从表也会删除数据列)

on update cascade 针对外键设置更新级联规则 (允许主表修改数据,主表修改的数据列从表也会修改数据列)

主表数据修改,从表跟着修改:级联修改

check约束     mysql没有 ms  sqlserver有   限定值的范围   sex 男~女

引用完整性  :多表之间有数据的依赖关系,要确保依赖关系的正确性

外键约束  foreign key   特征:存在于多表之间,如果一个表中某列的数据依赖于另外一个表的数据 此时要对这个列加外键约束    该列的值不能随便写

如何识别某个表中是否加了主键约束

delete from student; 删除整表数据   (删除全表数据不会重置自增列)

truecate table student ;             清空整表数据,可以重置自增列

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值