数据库完整性约束

完整性约束 检查数据是否符合要求

  1. 主键

    Primary key 每一条记录的一个身份证号 不重复

    定义主键的方法:

    1. Id int primary key,
    2. CONSTRAINT 自命名主键 primary key(列名)

    双主键 单个可以重复 但是两个组合起来就不能重复

  2. 非空

    代表的是不能为空指针 但是可以为空字符串

    Not NULL

  3. 默认值 default
  4. 唯一性约束 unique
  5. 检查约束 check

    在MySQL中不起作用 但是语法上支持

    Age int check(age>0 and age<160)

  6. 外键约束

    两个表关联的时候 一个表中的字段要参照另一个表中的字段

    Foreign key(class_id)references classes(id);

    设置完外键之后会发现并不起作用 是因为数据库默认引擎的问题

    因此在建表的时候需要两个地方设置为默认

    1. ENGINE=InnoDB
    2. DEFAULT CHARSET=utf8;

    外键存在的问题 :外键关系一旦建立 不易删除 导致非常的麻烦

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值