一、索引
索引就相当于表的目录,可以更快的找到需要的内容。
优点:可以提高查询效率,而且数据量越大,效果越明显。
缺点:添加数据或者删除数据时候,效率较低。因为对索引也要进行添加或删除。
二、视图
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。
视图好处:
a、简化表之间的联结(把联结写在select中);
b、适当的利用视图可以更清晰地表达查询
c、过滤不想要的数据(select部分)视图能够对机密数据提供安全保护
d、使用视图计算字段值,如汇总这样的值。
创建语句:
1 #create view 视图名称 as sql 查询语句
2 CREATE view ren_view as select p_id,p_name,p_age,p_leader from ren;
使用视图:
1 select * from 视图名称;
更新视图:
1 update ren_view set p_age =99 where p_id = 'p004';
删除视图:
1 drop view ren_view;
三、触发器-trigger
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before)
4.触发事件(insert/update/delete)
1.创建触发器语法
1 create trigger triggerName after/before insert/update/delete
2 on 表名 for each row #这句话是固定的
3
4 begin
5
6 #需要执行的sql语句
7
8 end
9
10 注意1:after/before: 只能选一个 ,after 表示 后置触发, before 表示前置触发
11 注意2:insert/update/delete:只能选一个
四、存储过程
1.概念:什么是存储过程:类似于函数(方法),简单的说存储过程是为了完成某个数据库中的特定功能而编写的语句集合,该语句集包括SQL语句(对数据的增删改查)、条件语句和循环语句等。
2. 查看现有的存储过程
1 show procedure status;
3 .删除存储过程
1 drop procedure 存储过程名称;
4. 调用 存储过程
1 call 存储过程名称(参数1 参数1类型,参数2 参数2类型);
5.创建存储过程
create
procedure p()
begin
select * from account;
end;