数据库 - [ 视图 事务 ]
创始人
2024-03-19 12:45:59
0

 

目录

视图

事务(Transaction)


Oracle对象教程:视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。

视图

具有以下优点:

  •     可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。
  •     可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。
  •     限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。
  •     从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。

语法结构:创建视图

CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name

AS

SELECT查询

[WITH READ ONLY CONSTRAINT]

语法解析:

    OR REPLACE:如果视图已经存在,则替换旧视图。

    FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。

    NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。

    WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

修改视图

CREATE OR REPLACE VIEW 视图名

AS

SELECT */字段名 FROM 表名;

执行修改后的视图语句:desc  视图名;

查看视图:show  tables;  或   show  full  tables;

查看创建该视图的详细语句:show  create  view  视图名;

删除视图:drop  view  数据库名.视图名;

事务(Transaction

事务必须具备4个原则,即所谓的ACID的特性

1、原子性(Atomicity)

2、一致性(Consistency)

3、隔离性(Isolation)

4、持续性/永久性(Durability)

事务提交与回滚

(回滚:类似于虚拟机的快照)

1、开始事务

格式为:start  transaction  | begin  work

2、提交事务

 

什么是事务

可以把一系列要执行的操作称为事务,而事务管理就是管理这些操作要么完全执行,要么完全不执行。

经典的事务举例:A要给B转钱,首先A的钱减少了,但是突然的数据库断电了,导致无法给B加钱,然后由于丢失数据,B不承认收到A的钱;在这里事务就是确保加钱和减钱两个都完全执行或完全不执行,如果加钱失败,那么不会发生减钱。

事务的开启与提交

在 MySQL 命令行的默认下,事务采用自动提交(autocommit=1)模式。意味着,当你执行一个修改sql语句,MySQL 会立刻更新存储到磁盘中。也就是会立马执行commit操作。

因此开启一个手动事务必须使用begin,start transaction或者set autocommit=0:

commit 表示提交事务,即提交事务的所有操作。具体地说,就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中,事务正常结束。

提交事务也有对应的三种方式:

提交事务,意味着将事务开始以来所执行的所有数据修改成为数据库的永久部分,因此也标志着一个事务的结束。一旦执行了该命令,将不能回滚事务。只有在所有修改都准备好提交给数据库时,才执行这一操作。

相关内容

热门资讯

将引入私人投资,加州撤回起诉美... 央视记者当地时间12月27日获悉,美国加利福尼亚州已正式撤回此前针对美联邦政府的诉讼,不再挑战联邦政...
增强市场主体获得感 以制度和规... “放得活”与“管得好”,既是一项重要的经济政策要求,也是一种治理智慧。在经济转型升级的关键阶段,把握...
东营集中巡查!抓获违法犯罪人员... 根据上级统一部署 连日来 东营市公安局东营分局 结合岁末年初社会治安特点 对全区治安复杂区域、人员密...
每周股票复盘:金煤科技(600... 截至2025年12月26日收盘,金煤科技(600844)报收于2.94元,较上周的3.0元下跌2.0...
每周股票复盘:武进不锈(603... 截至2025年12月26日收盘,武进不锈(603878)报收于9.94元,较上周的10.14元下跌1...
每周股票复盘:华依科技(688... 截至2025年12月26日收盘,华依科技(688071)报收于33.81元,较上周的32.34元上涨...
每周股票复盘:文灿股份(603... 截至2025年12月26日收盘,文灿股份(603348)报收于19.23元,较上周的19.5元下跌1...
每周股票复盘:中邮科技(688... 截至2025年12月26日收盘,中邮科技(688648)报收于58.51元,较上周的58.49元上涨...
每周股票复盘:蓝科高新(601... 截至2025年12月26日收盘,蓝科高新(601798)报收于8.99元,较上周的8.98元上涨0....
每周股票复盘:红豆股份(600... 截至2025年12月26日收盘,红豆股份(600400)报收于2.42元,较上周的2.5元下跌3.2...