目录
本周第二阶段的学习进入尾声,第二阶段主要学习了Linux及MySQL数据库的基本概念及基础使用操作。那么在复习过程中,我有一些容易混淆或是难以理解的抽象知识点,下面在此做一些总结和对比,分享给大家。
一、通配符在linux及mysql中的对比
二、mysql中抽象知识点对比
(一)视图
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中的类似函数的东西,我们可以用它实现一些逻辑处理
2、特点
里面可以包含流程控制语句和普通的sql语句
3、作用
可以将程序业务逻辑放到mysql中来处理,这样可以降低网络访问次数,从而提高程序效率。
4、语法
create procedure 过程的名称 ({in,out,inout} 数据类型 参数名称)
begin
具体的sql代码
end
参数前面需要指定参数的作用:
in 表示该参数用于传入数据
out 表示该参数用于返回数据
inout 既可传入,也可返回