zoukankan      html  css  js  c++  java
  • # 更新数据表以及创建事务

    更新数据表以及创建事务

    更新数据表

    更新数据表使用UPDATE关键字,语法如下:

    UPDATE 数据表名 SET 需要实现的更改 WHERE 搜索条件;
    

    搜索条件不是必须的,当拥有WHERE关键字是,称为搜索型更新。

    set后面有两种格式:

    UPDATE Product 
    SET sale_price = 500, purchase_price = 400
    WHERE product_name = 'T恤衫';
    

    或者

    UPDATE Product 
    SET (sale_price, purchase_price) = (500, 400)
    WHERE product_name = 'T恤衫';
    

    推荐使用第一种方式,因为第二种方式并非是所有的DBMS都会支持的。

    同时借助数据更新将数据制成为NULL,可以实现数据的清空。

    当然,即使是更新数据的时候也必须遵守创建数据表时的约束,同时不能够清空主键。

    创建事务

    事务是什么

    事务是需要在同一个处理单元中执行的一系列更新处理的集合。通过使用
    事务,可以对数据库中的数据更新处理的提交和取消进行管理

    事务的特点

    事务的特点有四种:

    1. 原子性(Atommicity)
      一件事务,其中的更新操作要么全部都会执行,要么全么都不会执行,所有的这些操作时一个整体,所以叫原子
    2. 一致性(Consistency)
      遵循数据库中提前设置的约束
    3. 隔离性(Isolation)
      指一个事务中的各个更新操作在事务结束以前,他们之间时相互透明的
    4. 持久性(Durability)
      指的是数据的灾难恢复能力

    事务的开始

    实际上几乎所有的数据库都不需要事务开始指令。大部分情况下,事务在数据库建立连接以后就已经开始,并不需要手动指定事务开始的时机。

    对于不指定事务开始,数据库可以有如下几种方式的事务提交方式:

    1. 自动提交类型
      每一条SQL语句就是一个事务
    2. 手动提交类型
      直到用户执行COMMIT或者ROLLBACK为止才算做一个事务

    通常可以任意选择其中的一种模式。SQL Server,PostgreSQL和MySQL等默认使用1。甲骨文,DB2默认使用2。

    同时对于一条语句一个事务的自动提交,执行DELETE语句以后无法回滚,所以需要谨慎操作。

    创建事务

    不同的数据库有不同的创建事务(开始事务)方式,实际上标准的SQL并没有指定创建事务应该使用什么语句。一般的创建方式有:

    1. BEGIN TRANSACTION (Postgres等)
    2. START TRANSACTION (MySQL等)
    3. 无 (甲骨文等)

    结束事务

    1. COMMIT 提交,提交以后不可回退
    2. ROLLBACk 回退
  • 相关阅读:
    用Apache 里面的ab做一个简单的压力测试
    优化加载jQuery的方法
    html的head里出现了 http://c.cnzz.com/core.php
    使用wget命令时发生错误
    Thinkphp 用PHPExcel 导入Excel
    001--初探ts
    006--面试之异步
    001--Node.js之EventLoop
    005--面试原型之jQuery和zepto的简单使用
    004--面试之ES6其他常用的功能
  • 原文地址:https://www.cnblogs.com/freesfu/p/11530851.html
Copyright © 2011-2022 走看看