mysql之视图和事务

目录

一:视图

1:视图的定义

2:创建视图

3:查看视图结构

4:删除视图

5:修改视图

6:应用场景

7:作用

8:可以增删改场景

二:事务和锁

1:概念

2:作用

3:执行


一:视图

1:视图的定义

视图是由查询结果形成的一张虚拟的表。

视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);

可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);

2:创建视图

create view tmp as select * from student_info where age=25;

3:查看视图结构

desc tmp;

show create table tmp;

4:删除视图

drop view tmp;

5:修改视图

alter view as select * from ... 

可以改变view的值吗?

-- mysql可以对view进行insert的,但是不一定全部的视图都可以进insert

必须满足以下的条件:

a、视图的数据和表一一对应时可以修改 b、视图必须包含表中所有没有默认值的列。

6:应用场景

使用视图的场景在于,在我们需要频繁调用一个结果时,每次都调用一次查询

比较麻烦。

7:作用

1)用于简化查询。

2)用于权限控制。

3)大数据分表。

4)多表合并。(使用union)

8:可以增删改场景

一对一:(视图与基本表数据一模一样)

可以增删改

一对一(视图数据来自表的分组聚合)

不能做增删改,可以查。

一对多(视图与基本表数据一模一样)

可以查 不能增删改

一对多(视图来自基本表的分组聚合)

可以查 不能增删改

二:事务和锁

1:概念

首先,什么是事务?事务就是一段sql 语句的批处理,但是这个批处理是一个atom(原子),不可分割,要么都执行,要么回滚(rollback)都不执行。

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。

事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。

2:作用

事务用来管理 insert,update,delete 语句

锁是计算机协调多个进程或线程并发访问某一资源的机制。

mysql中如果数据量大,并发访问多或者读写冲突,会出现死锁。表被锁住,不允许操作

sql中的语句不会立即对元数据进行修改而是进入缓冲区

3:执行

begin;

语句

查询是否合格(此时查询的是缓冲区中的数据)验证没问题以后commit,否则就rollbock。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值