数据库中的视图与事务

本文主要介绍数据库中的视图与事务。

====================================================================================================================================
  • 视图

当时常需要输入大量且重复的SQL语句示,则可以考虑使用视图(view)来完成相应查询。视图可以把复杂查询简单化为一个命令,不随数据库的结构改变而改变同时可以隐藏不必要显示的信息。

比如因为工作需要,用户需要繁复使用如下SQL语句

SELECT 
    d.dought_name, s.mc_sts
FROM
    doughtnut_list AS d
        INNER JOIN
    status1 AS s
WHERE
d.id = s.id;
#上述语句用户可以将其存在文本文件中,但是其存在一定不安全性,因为文本文件较易被修改,因此此时可以考虑使用视图。
CREATE VIEW inner_join AS
SELECT 
    d.dought_name, s.mc_sts
FROM
    doughtnut_list AS d
        INNER JOIN
    status1 AS s
WHERE
d.id = s.id;
#视图其实是一种虚拟的表,所以完全可以像操作正常的数据表一样对视图直接进行增删改查等操作。
SELECT * FROM inner_job;
INSERT INTO…;
DELETE…;
UPDATE…;
ALTER…;


 

  • 事务

事务(transcation)是一群可完成一组工作的SQL语句,在事务的过程中,若所设计的步骤没法完成,则整个事务的所有步骤都不会有实质性的完成结果。

将用户存钱看作一个事务:1.查询账户相应余额2.若余额充足则扣款3.提出现金;以上3个步骤,在数据库的操作中只要有任何一部未能成功执行,则该事务不会实质完成,同时若一张卡存在多个用户,且当用户几乎同一时间查询时,较慢的一方会出现卡片账户被锁定的类似提示,即目前他将不能实现正常的取款过程。

对于事务存在较为经典的ACID检测原则:ATOMICITY 原子性;COSISTENCY 一致性; ISOLAION 隔离性;DURABILITY 持续性。

具体见:http://baike.baidu.com/link?url=1EzSqFIypKvPgmSIGVx1eLvNjCEtsaFFZMSXrimkKX0ywq6z17VQVIX5xtDHWG9NoQSpPi2Qa0xjigv8EjimDMeshjhJqbgETGxY0k-rPAi

使用事务可以针对突发情况进行回滚(rollback),即若发现此前的操作存在问题,可以立即键入“rollback”关键字,使数据库恢复到事务开始前的状态,提升了数据库的数据安全性。

START TRANSCATION ;
SELECT 
    d.dought_name, s.mc_sts
FROM
    doughtnut_list AS d
        INNER JOIN
    status1 AS s
WHERE
d.id = s.id;
INSERT INTO…;
DELETE…;
UPDATE…;
ALTER…;
#在经过更改后,若发现情况不对,则可以立即使用ROLLBACK,这样数据库会恢复到’START TRANSCATION”之前的状态
#若对更改后的结果感到满意,则可以键入“ COMMIT”表示确认此次更改,并且只有在键入COMMIT后才会发生实质性的变化

 
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值