# 更新数据表以及创建事务

Posted freesfu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# 更新数据表以及创建事务相关的知识,希望对你有一定的参考价值。

更新数据表以及创建事务

更新数据表

更新数据表使用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 回退

以上是关于# 更新数据表以及创建事务的主要内容,如果未能解决你的问题,请参考以下文章

第四章 数据更新 4-3 事务

SQL——DBMS事务更新处理

SQL——DBMS事务更新处理

SQL——DBMS事务更新处理

关于DataSet事务处理以及SqlDataAdapter四种用法

数据库事务