视图:mysql
1.什么是视图 sql
视图就是经过查询获得一张虚拟表,而后保存下来,下次用的时候直接使用便可安全
2.为何用视图框架
若是要频繁使用一张虚拟表,能够不用重复查询优化
3.如何用视图spa
select * from 表1 inner join 表2 on 表1.id = 表2.表1_id ;事务
注意:1.在硬盘中,视图只有表结构文件,没有表数据文件开发
2.视图一般是用于插叙,尽可能不要修改视图中的数据it
触发器:io
1.什么是触发器
在知足对某张表数据的增、删、改的状况下(没有查),自动触发的功能称之为触发器
2.为什么要用触发器?
触发器专门针对咱们对某张表数据的增、删、改的行为,这类行为一旦执行就会启动触发器
,即自动运行另一段sql代码
3.建立触发器语法
create trigger 触发器的名字 after(也能够用before表明在以前触发) insert(能够换成delete,update) on 表名 for each row(结尾这三个是固定语法) 释义:在这个表名插入一条记录 以后触发一条触发器的行为
begin
当上门的create 触发器 触发时,自动执行 这段sql代码。。
end
触发器这样命名会好一点: 触发器名_after_insert_哪张表名
事务:
1.什么是事务
开启一个事务能够包含一些sql语句,这些sql语句要么同时成功,要么都不能成功,称之为事务的 原子性
2.事务的做用
能够监测一系列操做的安全性、准确性,能够对事务控制范围内的数据进行回滚等操做
3.怎么使用事务
start transaction #开启事务
开始执行sql 语句。
能够执行rollback 回滚到修改数据以前的状态
在没有执行commit以前这些修改的任何操做数据都不会刷新到硬盘
存储过程:
1.定义:存储过程包含了一系列可执行的sql语句,存储过程存放于mysql中,经过调用他的名字能够执 行其内部的一堆sql
2.三种开发模型:
一、应用程序:只须要开发应用程序的逻辑
mysql:编写好存储过程,用来给应用程序调用
优势:开发效率,执行效率都高
缺点:考虑到人为因素、跨部门沟通等问题,会致使扩展性差
二、应用程序:除了开发应用程序的逻辑,还须要编写原生sql
mysql:
优势:比方式1 拓展性高(非技术层面)
缺点:开发效率、执行效率都不如方式1,编写原生sql太过于复杂,须要考虑sql语句的优化
3.应用程序:开发应用程序的逻辑,不须要编写原生的sql,基于别人编写好的框架来处理数据,
mysql:
优势:不用再编写纯生sql,这意味着开发效率要比方式2高 ,同时拓展性也高
缺点:执行效率连方式2 都不如
3.建立存储过程:
create procedure 存储过程名(可传参)
begin
sql语句
end
call 存储过程名(可传参) # call 是调用
2