news 2026/6/14 4:22:26

SQL语言:约束 Constraint

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL语言:约束 Constraint

Oracle数据库支持的约束类型:

  • UNIQUE
  • NOT NULL
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  1. 唯一约束UNIQUE

    • 唯一约束要求表中每一行的列(或者列的组合)的值必须不同。如果依据单列,这就称为键列(KEY column)。

    • 键列中允许NULL值存在,因此可以在键列存在任意数量的NULL值。

    • 索引会加强唯一约束。在定义UNIQUE时,oracle会查找KEY column的索引,如索引不存在,就会创建一个(创建UNIQUE,就会创建INDEX)。

    • 当插入列时,oracle会搜索索引,看键列的值是否已存在,若存在,则拒绝插入。B-Tree索引不包含NULL,因此可以存在任意数量的NULL行。

    • 搜索where key_column is NULL,则会扫描整个表。

    • 需要索引

      创建唯一约束:Create table test(c number un_c unique);

  2. 非空约束NOT NULL

    • 非空约束要求输入键列的值为非空。
    • 在创建表时,在列上包含DEFAULT子句,就可能不需要指定值。
      创建非空约束:Create table test(c number nn_c not null);
  3. 主键约束PRIMARY KEY

    • 主键约束是定位表中单行的方法。

    • oracle允许表中没有主键。

    • 主键约束是唯一约束和非空约束的联合。

    • 一个表只能有一个主键。

    • 使用两个字段联合作为主键时,将两个字段组合在一起唯一表识记录,叫做联合主键

    • 需要索引

      主键约束又可分别列级主键约束表级主键约束

      列级主键约束:

      Create table test(c number primary key); ——列级约束

      Create table test(c number constraint pk_c primary key);—— 给约束命名,其名字:pk_c。

      表级主键约束:

      Create table test(c number , primary key( c ));—— 表级约束

      Create table test(c number,c1 number,primary key(c ,c1));——用表级约束可以实现联合主键,且只能使用表级约束。

  4. 外键约束FOREIGN KEY

    外键只能够引用主键或唯一键的值,被引用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 3:26:51

RAG Agent工具

RAG & Agent工具(Coze,Dify等)RAG(检索增强生成)工具可结合大量知识库进行内容生成。当用户提出问题时,工具先在知识库中检索相关信息,再根据检索结果生成准确、详细的回答,适用…

作者头像 李华
网站建设 2026/6/14 3:20:26

终极暗黑破坏神2存档编辑器:5分钟掌握免费角色编辑神器

终极暗黑破坏神2存档编辑器:5分钟掌握免费角色编辑神器 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2中反复刷装备而烦恼吗?想要快速测试新的角色build却不想花费数小时?今…

作者头像 李华
网站建设 2026/6/14 5:23:08

5分钟掌握浏览器语音识别:Whisper Web让AI听懂你的每一句话

5分钟掌握浏览器语音识别:Whisper Web让AI听懂你的每一句话 【免费下载链接】whisper-web ML-powered speech recognition directly in your browser 项目地址: https://gitcode.com/GitHub_Trending/wh/whisper-web 还在为语音识别需要联网、隐私泄露而烦恼…

作者头像 李华