视图view
视图是什么
通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。
视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);
视图的作用
- 重用sql语句,简化用户操作
- 更清晰表达数据
- 当数据库重构时,降低对用户(程序)的影响
- 视图能够对机密数据提供安全保护
定义视图
建议以v_开头
create view 视图名称 as select语句;
查看视图
查看表会将所有的视图也列出来
show tables;
使用视图
select * from v_goods;
删除视图
drop view 视图名称;
例:
drop view v_goods;
视图demo
事务transaction
为什么要有事务
事务广泛的运用于订单系统、银行系统等多种场景
例如:
A用户和B用户是银行的储户,A账户余额2000元,B账户余额3000元,现在A要给B转账500元,那么需要做以下几件事:
1.检查A的账户余额>500元;
2.A 账户中扣除500元;
3.B 账户中增加500元;
正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜。
那如果A账户扣了钱之后,系统出故障了呢?A白白损失了500,而B也没有收到本该属于他的500。
以上的案例中,隐藏着一个前提条件:A扣钱和B加钱,要么同时成功,要么同时失败。事务的需求就在于此
事务是什么
所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。
例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行。所以,应该把他们看成一个事务。