Oracle之索引的创建方式
2015-11-13 10:46
459 查看
Oracle 的索引可分为5种,它们包括唯一索引、组合索引、反向键索引、位图索引和基于函数的索引。
1、创建索引的标准语法
以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名)TABLESPACE 表空间名;
例如:
以下为引用内容: CREATE INDEX idx_of_imsi ON uim_auth_file(imsi) TABLESPACE users;
2、创建唯一索引
以下为引用内容: CREATE unique INDEX 索引名 ON 表名 (列名)TABLESPACE 表空间名;
例如:
以下为引用内容: CREATE UNIQUE INDEX idx_of_imsi ON uim_auth_file(imsi) TABLESPACE users;
3、创建组合索引
以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名1,列名2)TABLESPACE 表空间名;
例如:
以下为引用内容: CREATE INDEX idx_of_imsi ON uim_auth_file(iccid,imsi) TABLESPACE users;
4、创建反向键索引
以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名) reverseTABLESPACE 表空间名;
例如:
以下为引用内容: CREATE INDEX idx_of_imsi ON uim_auth_file(imsi) reverse TABLESPACE users;
eg:
1、创建索引的标准语法
以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名)TABLESPACE 表空间名;
例如:
以下为引用内容: CREATE INDEX idx_of_imsi ON uim_auth_file(imsi) TABLESPACE users;
2、创建唯一索引
以下为引用内容: CREATE unique INDEX 索引名 ON 表名 (列名)TABLESPACE 表空间名;
例如:
以下为引用内容: CREATE UNIQUE INDEX idx_of_imsi ON uim_auth_file(imsi) TABLESPACE users;
3、创建组合索引
以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名1,列名2)TABLESPACE 表空间名;
例如:
以下为引用内容: CREATE INDEX idx_of_imsi ON uim_auth_file(iccid,imsi) TABLESPACE users;
4、创建反向键索引
以下为引用内容: CREATE INDEX 索引名 ON 表名 (列名) reverseTABLESPACE 表空间名;
例如:
以下为引用内容: CREATE INDEX idx_of_imsi ON uim_auth_file(imsi) reverse TABLESPACE users;
eg:
alter table base_family modify IDENTITY_CARD varchar2(30); alter table office_repaire add equipment_type char(1); --请假类型表 /*==============================================================*/ /* Table: office_leave_type */ /*==============================================================*/ create table office_leave_type ( id char(32) not null, name varchar2(20) not null, unit_id char(32) not null, state number(1) not null, is_deleted number(1) not null, constraint PK_OFFICE_LEAVE_TYPE primary key (id) using index tablespace tbs_office ) tablespace tbs_office; comment on column office_leave_type.state is '1:学生,2:老师'; --教师请假表 /*==============================================================*/ /* Table: office_teacher_leave_nh */ /*==============================================================*/ create table office_teacher_leave_nh ( id char(32) not null, unit_id char(32), apply_user_id char(32) not null, begin_time date, end_time date, days number(5,1), leave_type_id char(32), morning_change varchar2(100), night_change varchar2(100), week_change varchar2(100), act_charge_teacher varchar2(100), remark varchar2(200), state number(1), is_deleted number(1), create_user_id char(32), create_time date, flow_id char(32), constraint PK_OFFICE_TEACHER_LEAVE_NH primary key (id) using index tablespace tbs_office_idx ) tablespace tbs_office; --学生请假表 /*==============================================================*/ /* Table: office_student_leave */ /*==============================================================*/ create table office_student_leave ( id char(32) not null, student_id char(32) not null, start_time date, end_time date, days number(5,1), leave_type_id char(32), class_id char(32), acadyear varchar2(10), semester number(1), create_user_id char(32), create_time date, remark varchar2(200), audit_user_id char(32), state number(1), audit_time date, audit_remark varchar2(200), is_deleted number(1), unit_id char(32), back_state number(1) default 0, constraint PK_OFFICE_STUDENT_LEAVE primary key (id) using index tablespace tbs_office_idx ) tablespace tbs_office; comment on column office_student_leave.state is '1:未提交,2:已提交,3:通过,4:未通过'; comment on column office_student_leave.back_state is '0:未判断,1:已回校,2:未回校已发短信通知'; --任务管理 /*==============================================================*/ /* Table: office_task_manage */ /*==============================================================*/ create table office_task_manage ( id char(32) not null, unit_id char(32) not null, task_name varchar2(100), deal_user_id char(32), complete_time date, has_attach number(1), remark varchar2(500), state number(1), create_user_id char(32), create_time date, first_remind_time date, second_remind_time date, remind_number number(1), actual_finish_time date, has_submit_attach number(1), finish_remark varchar2(500), is_deleted number(1) not null, constraint PK_OFFICE_TASK_MANAGE primary key (id) using index tablespace tbs_office_idx ) tablespace tbs_office; comment on column office_task_manage.state is '1:未发布,2:已发布,3:已完成';
相关文章推荐
- Oracle 常见问题整理,来自CSDN帖子
- Kettle 连接 oracle
- Oracle Clusterware (CRS/GI) - ASM - Database Version Compatibility (文档 ID 337737.1)
- ORA-01012: not logged on
- 从oracle 10g转到oracle 11g更改字符集
- the account is locked 解决方案
- 在vs编译的时候 出现 boolean 重定义
- Oracle sql面试题二
- oracle case when then end 语句
- Oracle复杂查询
- oracle相关时间计算,得到季度第一天、最后一天
- oracle 增加列
- oracle修改表已存列的数据类型与列名重命名
- oracle表空间查询
- 55.Oracle数据库SQL开发之 高级查询——使用TRANSLATE函数
- 54.Oracle数据库SQL开发之 高级查询——使用集合操作符
- 53.Oracle数据库SQL开发之 子查询——编写包含子查询的UPDATE和DELETE
- 52.Oracle数据库SQL开发之 子查询——编写嵌套子查询
- (重点)为一个新用户在Oracle中创建新数据库步骤 2012-10-25 10:27:02
- 51.Oracle数据库SQL开发之 子查询——编写关联子查询