序列-sequence

  • 按照指定的序列初始值,按步长进行增长。数值永不重复
  • 默认没有初始值的,nextval的值默认从1开始,默认每次自增+1
  • 可以使用 序列名.nextval坐为主键使用
  • 创建:
    • create sequence 序列名
    • create sequence cnum;
    • 序列名.currval查看当前序列的值。开始是没有的。
    • select cnum.currval from dual—获取当前序列值
    • 序列名.nextval每次执行都会自增一次,默认步长为1
    • select cnum.nextval from dual—序列自增后返回当前值
    • create sequence cc–创建序列
    • start with 90—设定序列初始值
    • increment by 5—设定步长
    • maxvalue 10000—设置最大值
    • cache 10 —–设置缓存
    • insert into clazz values(cc.nextval,’402班级’,’强班’);
  • 删除序列:drop sequence cc

索引-index

  • 当表中数据量比较大的时候,使用条件查询就会出现效率的问题。使用索引提升查询效率
  • 原理:类似于java中数组的折半查找,在数据库中数据使用B树形结构进行数据的存储,
  • 创建:
    • create index 表名_index_字段名 on 表名(字段名)
    • create index emp_index_sal on emp(sal)
    • 显示的创建,隐式的执行。oracle会自动给表的主键创建索引
    • create index emp_index_sal_desc on emp(sal desc);–创建单排序索引
    • create index emp_index_sal_desc2 on emp(sal desc,job asc);–创建多条件排序索引
  • 删除索引 drop index 索引名:drop index index_teacher_tname

视图-view

  • 保护真实表,隐藏重要字段的数据。保护数据。
  • 在视图中的操作会映射执行到真实表中
  • 可以手动开启只读模式 使用关键字 with read only
  • 视图的创建必须拥有dba权限
  • 创建:
    • create view 视图名 as select 对外提供的内容 from 真实表名
    • create view stu as select sno,sname,sage from bjsxt.student
    • create view stu2 as select sno,sname,sage from student with read only-只读模式