一:视图
1:定义:视图本质上是一张虚拟的表,它的数据来自select语句。
2:创建视图的语句:
create view 视图名字 as select *from 表名;
3:作用:
原表安全,隐藏部分数据,开放指定的数据;因为视图可以将查询结果保存,所以可以用视图来减少书写sql的次数。
4:特点:
①:每次对视图进行的查询,其实都是再次执行了as后面的查询语句
②:可以对视图进行修改,修改会同步到原表
③:视图是永久存储的,存储的不是数据,而是一条 as sql 语句
二:事务
1:定义:事务就是一堆sql语句的集合,它们是原子性的,要么全部执行,要么都不执行。
2:事务的特性:
①:原子性:事务是一个整体,不可分割
②:隔离性:事务之间要相互隔离,为了维护数据的完整性
四中隔离级别:可串行化,可重复读(默认),读已提交,读未提交
③:一致性:当事务执行后,所有的数据都是完整的(外键约束,非空约束)
④:持久性:一旦提交了事务,数据就永久保存
mysql这个客户端默认开启自动提交,一条sql语句就是一个单独的事务;
pymysql默认是不自动提交,需要手动commit,意思是默认就开启了事务。
start transaction; 开启一个事务
commit 提交事务
rollback 回滚事务
三:存储过程
1:定义:存储过程实际上是一个mysql中的类似函数的东西,我们可以用它实现一些逻辑处理
特点:里面可以包含流程控制语句和普通的sql语句
2:作用:可以将程序业务逻辑放到mysql中来处理,这样可以降低网络访问次数,从而提高程序效率。
3:语法:
create procedure 过程的名称 ({in,out,inout} 数据类型 参数名称)
begin
具体的sql代码
end
参数前面需要指定参数的作用:
in 表示该参数用于传入数据
out 表示该参数用于返回数据
inout 既可传入,也可返回
原文地址:https://www.cnblogs.com/duanxiangyang/p/9668861.html