zoukankan      html  css  js  c++  java
  • Oracle-11-主键约束

    一、Oracle系统一共提供了下面5种约束

    1.非空(NOT NULL)约束:所定义的列绝不能为空;

    2.唯一(UNIQUE)约束:在表中每一行中所定义的列,其列值不能同样;

    3.主键(PARIMARY KEY)约束:唯一标识表中的一行;

    4.外键(FOREIGN KEY)约束:用来维护子表(Child Table)和父表(Parent Table)之间的引用完毕行;

    5.条件(CHECK)约束:表中每行都要满足该约束条件。

     

    二、Oracle约束作用:约束主要在设计表的时候使用。它能够为数据库表提供完整性、引用完整性、用户自己定义完整性。

    有了约束对这个数据库中的数据提供很好的维护。

     

    引入约束的目的就是防止那些无效或有问题的数据输入表中,维护数据库数据的唯一性。

     

    Oracle中约束keywordconstraint

     

    三、主键约束(即完整性约束)实现方法:

    1.在创建表的时候。在列中加入primary key或者用keywordconstraint;(

    2.为已创建好的表中,通过keywordconstraint为表中的某一列加入约束。

    例:alter table A add constraint PK_A_ID primary key (id)命令是为已创建好的A表的id列加入主键约束。

     

    【实战操作1(相应于上面)】

    Step1:创建B表,并赋予主键约束。例如以下图:


    所以B表中id列的数据不能为空且不能反复。

    Step2:先在B表中插入第一行数据,例如以下图:


    Step3:再在B表中插入数据,有益将带有主键约束的id列值反复,例如以下图:


    因此验证了被主键约束的列不能插入反复数据。

    Step4:再在B表插入数据,有益将id列相应位置的数据不写(即为空)。例如以下图:


    因此验证了被主键约束的列不能为空。

     

    【实战操作2(相应于上面)】

    Step1:在创建C表时利用constraintkeyword加入主键约束。例如以下图:


    图中pk是primary key的缩写,这个pk_c_id名字能够随便定义。可是一般用pk标识。

    Step2:以下先来验证被主键约束的id列数据是否能反复。例如以下图:


    因此验证了被主键约束的列不能插入反复数据。

    Step3:以下验证被主键约束的id列是否能插入null数据,例如以下图:


    因此验证了被主键约束的列不能为空。

     

    【实战操作3(相应于上面)】

    Step1:查看A表数据,例如以下图:


    Step2:利用上面为已创建好的A表加入主键约束,例如以下图:


    发现报错。由于当前A表中的id列存在反复数据。

    Step3:反复数据怎么删除?先查看rowid再用where rowid=’…’命令删除。例如以下图:


    Step4:此时A表中的id列已没有反复数据。那么能够用上面为该表加入主键约束,例如以下图:



  • 相关阅读:
    jmeter-实用插件
    python学习笔记
    TODO redis学习笔记
    查询redis数据
    【洛谷P1341】无序字母对
    【洛谷P1100】高低位交换
    【洛谷P1118】数字三角形
    【洛谷P1538】迎春舞会之数字舞蹈
    【洛谷P2947】向右看齐
    【洛谷P1351】[NOIP2014]联合权值
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7244294.html
Copyright © 2011-2022 走看看