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上分别都有索引

  • 相关阅读:
    阿里云slb实现多域名https
    docker容器互连
    ext4文件系统(转)
    Effective Java 读书笔记(四):泛型
    Effective Java 读书笔记(一):创建和销毁对象
    Effective Java 读书笔记(三):类与接口
    Effective Java 读书笔记(二):对象通用方法
    三种TCP协议聊天室实现
    WebSocket协议探究(三):MQTT子协议
    WebSocket协议探究(二)
  • 原文地址:https://www.cnblogs.com/shanqw/p/6473946.html
Copyright © 2011-2022 走看看