事物
视图
变量❗️
存储过程❗️
函数❗️
流程控制结构❗️
事物:绑定多条sql语句,要么都成功,要么都失败
(一)隐示事物
例如:insert、update、delete
(二)显示事物:和后端语言配合使用
- 防止隐示事物先提交了,需要先添加取消事物的步骤
- 提交和回滚只能执行一个,如果是回滚的话, 相当于没执行
- 和后端语言配合使用
//步骤1:取消事物
set autocommit = 0
//步骤2:开启事物
start transaction
//步骤3:编写sql命令,加断点
select * from 表;
savepoint 自定义断点名
rollback to 自定义断点名
select * from 表;
//步骤4:提交
commit;
//步骤4:回滚
rollback;
(三)隔离级别:解决数据库并发操作时的脏读等相关问题(图:xmind)
//数据库并发问题:脏读,不可重复读,幻读
//查看当前隔离级别
select @@tx_isolation
视图:临时表,相当于把sql命令保存起来,后期重复用
- 只用于查看,此处视图相似与函数,但执行函数在[存储过程]中体现
- 存储在可视化图形中的视图中
- 只保存sql逻辑, 并不对实际的数据库进行操作,不会保存查询结果
- 一般情况下 对视图内的数据进行增删改查,不影响原始表
- 特别简单的sql命令可以影响原始表(例如不能有关键字:分组,union等)
//1.使用视图
select 字段 from 视图名 where 查询条件
//2.创建视图
create view 视图名
as 完整的查询语句
//3.删除视图
drop view 视图名1,视图名2
//4.修改视图方式1
create or replace view 视图名
as 完整的查询语句
//4.修改视图方式2
alter view 视图名
as 完整的查询语句
//5.查看视图
desc 视图名
show create view 视图名 //不常用,比较全