zoukankan      html  css  js  c++  java
  • Oracle约束、索引

    Oracle中的约束有五种,分别为:

    非空:not null

    主键:primary key

    外键:foreign key

    唯一:unique

    检查:check

    在数据字典视图 user_constraint,里面显示当前用户所有的约束信息

    ①主键和外键

    用于定义主表和从表之间的关系,外键是定义在从表上主表则必须具有主键或者unique约束,当定义外键约束后,要求外键列的数据必须在
    主表的主键列存在或者为NULL

    主键和外键的数据类型一致

    在删除主键约束的时候,要注意
    因为如果两张表存在主从关系,那么在删除主表的主键约束时,必须带上cascade选项
    alter table 表名 drop primary key cascade 
    这样表示把两个表之间的主从关系破坏掉

    ②非空

    oracle中的空包括 null和' '  ;与sqlserver有所区别。在sqlserver中null和' '是不一样的。

    所以:在Oracle中只要某一列定义为 NOT NULL ,那么 null和 '' 都插入不进去;但是SqlServer某一列定义为 NOT NULL, 那么null插入不进去,' ' 可以插入进去。

    语法:

    alter table employees modify deptno not null/null

    注意:如果表中已经存在null,就不能更改其为not null约束

    ③索引

    单列索引
    create index 索引名 on 表名(列名)
    create index ghindex on emp(empid)

    复合索引
    create index emp_index1 on emp(ename,job)

    创建主键或唯一约束后,ORACLE会自动创建一个与约束同名的索引。

    例如:

    create table stu(
        name varchar2(20) primary key ,
        age int unique,
        home varchar2(20) not null
    );

    里面就会有两个索引:name 和 age上分别都有索引

  • 相关阅读:
    linux一些配置
    tomcat启动后,页面无法访问
    利用jmeter实现多IP压测
    java操作数据库
    excle中表头分割单元格
    常用的最大流算法 Dinic 和 最小费用最大流SPFA写法
    [kuangbin]带你飞之'网络流'专题
    (留坑以后再看)一般图'最大匹配' 带花树 算法
    二分图'多重匹配'
    二分图'最大匹配' HK 算法
  • 原文地址:https://www.cnblogs.com/shanqw/p/6473946.html
Copyright © 2011-2022 走看看