码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SQL语句的约束 总结


    目录

    基本概念

    主键约束

    概念

    操作

    自增长约束

    概念

    操作

     非空约束

    概念

    操作

    唯一约束

    概念

    操作

    默认约束

    概念

     操作

    零填充约束

    概念

    约束总结


     

    基本概念

    0c42d0df9e1b41e5a441fa92d59fb492.png

     

    主键约束

    概念

    主键约束相当于   唯一约束 + 非空约束  的组合,主键约束列不允许重复,也不允许出现空值。

    每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别创建。

    当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。

    2a6829e73c444911bf2370aa8b2230a4.png

    操作

    dd58173531594fc6979ec010f0614036.png

    • 单列主键  

    e90b53b8779247c4a1c5accf36f974e1.png

    b52b9cbb529c425ea3ac748155b84d61.png

    9ad5bcb2c4324b1787a4cc7d80cd57c1.png

    注释:其中‘constraint 约束名’可以省略

    如下,test2插入成功,test1插入失败

    0865397370a84a4a8c7ac1b7dfb9eb8d.png

    0a846efb4c984b07a4522c6f471687b8.png

    • 联合主键

    b670efa18b3a4f6a9f33ac144058b7ef.png

    注释:联合主键的值不全部相等就可以插入,且每一列均不能为空

    91c37ee60e3a4cba8b0cf42ad6fc65af.png

    df5b25b0ce1b4ed08a88386d0ed819ac.png

    • 添加主键

    97636f88566f4501b59ae8381a3f480e.png

    示例

    a085aaf29d1b49ce91e7a5583574f0ac.png

    •  删除主键

    ce066fbfe508491ba5dca8c4bf40077f.png

    • 主键约束与“not null unique”区别:

    给某个字段添加主键约束之后,该字段不能重复也不能为空,效果和”not null unique”约束相同,但是本质不同。

    主键约束除了可以做到”not null unique”之外,还会默认添加”索引——index”

     

    自增长约束

    概念

    beab175a74b245e983b82bc8c1194a4d.png

    操作

    2575114034274e0cbfdd6d58c106edf7.pnga18777135c6844b88c9eb34d711b113d.png

    •  指定初始值

    21a50f39cab446feb48d43d91ae4b8c2.png

    b80cd349506f41bfbcb3471a65501217.png

    • 区别

    64e34e5645254923bad861fad2b192bb.png

    用delete from 删除: 

    ff2f20b869274bcfa06b5e88f6d39f2a.png

    eeea191a5f63441ebc8c0db26007ad89.png

     用truncate删除(回到默认值1开始):

    b95abe63bcbb4ec7a6c6a2a3f7ac24ce.pngdabdda34f8b741df8d8375f20a5cd958.png

     

     非空约束

    概念

    318670a08a9e4cd5be42167d00a2ed88.png

    4dd1a4a9e6964fe7b2525c41e543516c.png

    操作

    ca15f482273d4ffd9554c3937e520020.png

    12插入失败,34插入成功 

    af90f1a7a06a44959049e9bebb0eaabf.png

     可以通过desc查看是否可以为空

    b3f6e245751f48f594f7f0c5b55db75d.png

     

    唯一约束

    概念

    唯一约束是指定table的列或列组合不能重复,保证数据的唯一性。

    唯一约束不允许出现重复的值,但是可以为多个null。

    同一个表可以有多个唯一约束,多个列组合的约束。

    在创建唯一约束时,如果不给唯一约束名称,就默认和列名相同。

    唯一约束不仅可以在一个表内创建,而且可以同时多表创建组合唯一约束。

    03f5048e5f5d4b3bbb3cca3b3a85b5eb.png

    操作

    如图,第二句插入失败d022369f4a6a494dbe6397e656159328.png

    如图,插入成功:在mysql中null和任何值都不等,和自己也不等

    ec88919dab9241698ff006a1d9a29b16.png

     删除唯一约束

    1. create table if not exists e8
    2. (id int primary key auto_increment,
    3. name varchar(5),
    4. tele int unique);
    5. alter table e8 drop index tele;
    6. insert into e8 values(NULL,'x1',138);
    7. insert into e8 values(NULL,'x2',138);

    如果没有设置约束名,那么就是默认的表名

     

    默认约束

    概念

    903d45da739248988a7d0e99fd087b7e.png

     操作

    e335a15a67134bf9ae790b319ab00b3b.png

     

    零填充约束

    概念

    45ba8f53cda0469aa35f6215327ae718.png

    约束总结

    fff988015dd6481ab16f0a5000d9629b.png

     

  • 相关阅读:
    2022强网杯WP
    Linux的进程调度实现
    IB经济与商业可以一起选吗?
    MySQL的排序和分页
    驱动开发:内核注册表增删改查
    Mybatis Generator 在 IDEA 中自动生成代码
    arthas retransform热更新
    Stable diffusion模型种类说明
    [Azure | Active Directory] 如何为VM分配托管标识
    开源FFMpeg(四)——使用SDL进行音频播放下(使用篇)
  • 原文地址:https://blog.csdn.net/qq_63701832/article/details/127913718
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号