一、视图
视图是一个虚拟的表,可以当作一个真实的表使用。视图也有行和列数据,但是视图并不在数据库中以储存数据的形式存在。视图里的数据来自于定义视图查询所引用的表,并且在引用视图时动态生成(视图不是真是存在磁盘上的)。
- 简化:select查询语句
- 重用:封装select 语句
- 隐藏:隐藏内部细节
- 区分:相同数据不同查询
1、视图的创建
不是所有的用户都有创建视图的权限,如果没有权限需要提权。
- 授权:
gran t dba to 用户;
- 回收:
revoke dba from 用户;
视图创建的语法:
create or replace view 视图名称 as 查询语句;
create create or replace view vw_sstudent as select * from sstudent;
Tips:
- 如果要修改视图只需要更改查询语句再次执行创建视图的SQL语句就行。
- 如果修改源数据则视图中的数据也会发生改变。
2、删除视图
对视图的删除操作不会影响到源表
删除视图的语法:
drop view 视图名称
drop view vw_sstudent;
二、索引
索引时数据库的对象之一,用于加快数据库的检索。
索引时提查询速度的一种手段,但不是适用于任何场景。如果数据很少不建议使用,数据量特别多使用才有明显效果,否则很有可能会降低查询速度。
1、索引的创建
给表设置属性的时候会默认自动生成一个索引。
创建索引的语法:
create index 索引名称 on 表名(字段名...);
create index index_sal on emp(sal);
2、删除索引
删除索引的语法:
drop index 索引名称;
drop index index_sal;