跳到主要内容位置

mysql补充

视图#

就是通过查询得到一张虚拟表,然后保存下来,下次可以直接使用

使用

create view 表名 as 虚拟表的查询sql语句

注意

  1. 创建视图在硬盘上只会有表结构 没有表数据(数据还是来自于之前的表)
  2. 视图一般只用来查询 里面的结构不要继续修改 可能会影响真正的表

创建了很多的视图后 会造成表的不好维护

总结:了解即可 基本没用

触发器#

在满足对表数据进行增、删、改的情况下,自动触发的功能,使用触发器可以帮助我们实现监控、日志...

触发器可以在六种情况下自动触发 增前 增后 改前 改后 删前 删后

基本的语法结构

create trigger 触发器的名字 before/after insert/update/delete on 表名 for each row begin sql语句 end

具体使用 针对触发器的名字 我们通常需要做到见名知意

create trigger tri_before_insert_t1 before/after insert/update/delete on t1 for each row begin sql语句 end

事务#

事务的四大特性 ACID#

  • 原子性

    一个事务是一个不分割的单位 事务中包涵的诸多操作要么同时成功要么同时失败

    一致性

    事务必须是使数据库从一个一致性的状态变到另外一个一致性的状态,一致性跟原子性是密切相关的

    隔离性

    一个事务的执行 不能被其他事务干扰 ,即一个事务内部的操作及使用到的数据对并发的其他事务是隔离的,并发执行的事务之间也是互相不干扰的

    持久性

    也叫永久性,一个事务一但提交成功执行成功 那么它对数据库中数据的修改应该是永久的,接下来的其他操作或者故障不应该对其有任何的影响

'开启一个事务可以包含多条sql语句 这些sql语句要么同时成功 要么一个都别想成功'
# 事务的作用
'保证了对数据操作的安全性'
# 开启事务
start transaction;
# 回滚(回到事务执行之前的状态)
rollback
# 二次确认(确认之后就无法回滚了)
commit;
"当你想让多条sql语句保持一致性 要么同时成功要么同时失败"