索引:
创建:
create index 索引名 on 表名(列名)
说明:对于索引的名称通常命名为:idx_表名_列名
给姓名列创建索引
create index idx_employee_empname on employee(empname)
create index agvc on employee(empage)
索引创建事项:
通常表内数据不超过500行的不需要建立索引
通常索引可以加快查询速度
索引的建立通常会让增加,删除,修改数据有速度变慢(原因是因为数据修改时要花出更多时间去修改数据的地址
,同时变更索引里的地址)
当数据有很大一部分是相同的时候不需要建立索引
索引类型:
单一索引:表示只作用于某一列之上的索引
create index idx_employee_empname on employee(empname)
create index agvc on employee(empage)
组合/复合索引:表示一个索引同时作用于两列或以上的列
create index idx_employee on employee(empid,empjob,empdepid)
删除索引:
drop index agvc
视图:本身一种表,不是实体表,是存在内存的表的,其实质是反应真实表的信息或信息的联合。
创建视图:
create or replace view v_employee as select * from employee
create or replace view:
表示如果视图不存在则创建视图,如果已经存在,则替换掉原来的视图。
此语法同样适用于存储过程
create view EmpBm_view as
select empid as 工号,
empname as 姓名, empgender as 性别, empage as 年龄, empsalary as 工资,
empjob as 岗位, empmanagerid as 上司工号 ,Bmid as 部门号 ,
Bmname as 部门名称 from
employee,Bm where employee.empdepid=Bm.Bmid ;
select * from Emp_view
select * from EmpBm_view
insert into Emp_view values (1,'李三','男',21,5800,'经理',2);
update Emp_view set 姓名='张三' where 姓名='李三'
insert into EmpBm_view values (1,'李三','男',21,5800,'经理',2,2,'新华');