• 数据库 - [ 视图 事务 ]


     

    目录

    视图

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

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

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

  • 相关阅读:
    相机数据恢复!详细步骤解析(2023新版)
    4.9 多协议标记交换MPLS
    大数据ClickHouse进阶(二十六):ClickHouse数据备份
    【Mysql】主从一致
    Python-tracemalloc-跟踪内存分配
    linux系统调用拦截Centos7.6(三)の内核调用拦截
    架构基本概念和架构本质
    淘宝APP原数据如何获取??
    头脑风暴之约瑟夫环问题
    【小程序】网络请求API介绍及网络请求的封装
  • 原文地址:https://blog.csdn.net/weixin_57099902/article/details/128191526