[SQL基础教程] 4 数据更新

4-4 事务

事务

需要在同一处理单元中执行的一系列更新处理的集合

创建事务

事务开始语句;
DML语句1;
DML语句2;
.
.
.
事务结束语句;

事务开始语句

// SQL Server/ PostgreSQL
BEGIN TRANSACTION
// MySQL
START TRANSACTION

事务结束语句

COMMIT

ROLLBACK

  • 回滚数据库到事务开始状态。

事务处理何时开始和结束

几乎所有的数据库产品都不需要开始指令。

  • 自动提交模式
  • 非自动提交模式

自动提交模式

每条SQL语句就是一个事务,自动包含在事务中。

非自动提交模式

直到用户执行COMMIT/ROLLBACK指令为止算是一个事务。

DBMS提交模式

SQL Server/MySQL/PostgreSQL 默认采用自动提交模式

ACID特性

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)

[SQL基础教程] 4-4 事务的更多相关文章

  1. 《SQL基础教程》+ 《SQL进阶教程》 学习笔记

    写在前面:本文主要注重 SQL 的理论.主流覆盖的功能范围及其基本语法/用法.至于详细的 SQL 语法/用法,因为每家 DBMS 都有些许不同,我会在以后专门介绍某款DBMS(例如 PostgreSQ ...

  2. [SQL基础教程] 5-1视图

    [SQL基础教程] 5-1视图 视图和表 从SQL角度看视图就是一张表 视图与表的差别 表保存了实际的数据,视图保存的是SELECT语句: 视图的优点 节省存储空间: 将常用的Select 语句保存成 ...

  3. [SQL基础教程] 4-3 数据的更新(UPDATE)

    [SQL基础教程] C4 数据更新 4-3 数据的更新(UPDATE) UPDATE UPDATE <表名> SET <列名> = <表达式>; UPDATE &l ...

  4. [SQL基础教程] 4-2 数据删除(DELETE)

    [SQL基础教程] C4 数据更新 4-2 数据删除(DELETE) DROP TABLE / DELETE DROP TABLE - 完全删除表 DELETE - 仅删除数据,保留表容器 DELET ...

  5. [SQL基础教程] 4-1 数据的插入(INSERT)

    [SQL基础教程] C4 数据更新 4-1 数据的插入(INSERT) INSERT INSERT INTO <表名>(列1,列2...) VALUES(值1,值2...); 清单 用() ...

  6. [SQL基础教程] 3-4 对查询结果进行排序/ORDER BY

    [SQL基础教程] 3-4 对查询结果进行排序/ORDER BY ORDER BY SELECT <列名1>,<列名2>,<列名2>... FROM ORDER B ...

  7. [SQL基础教程] 3-3 HAVING

    [SQL基础教程] 3-3 HAVING HAVING子句 SELECT col_1,col_2 FROM table GROUP BY col_1,col_2 HAVING col_1 = '2'; ...

  8. [SQL基础教程] 3-2 对表进行分组

    [SQL基础教程] 3-2 对表进行分组 GROUP BY SELECT <列名1>,<列名2>,... FROM <表名> GROUP BY <列名1> ...

  9. [SQL基础教程] 3-1 对表进行聚合查询

    [SQL基础教程] 3-1 对表进行聚合查询 聚合函数 用于合计的函数称为聚合函数或者集合函数 COUNT SUM AVG MAX MIN SELECT COUNT(*) FROM table; SE ...

随机推荐

  1. 深入理解javascript new的机制

    我们在使用对象的时候,除了一些浏览器内置的单体对象可以直接使用外,都会new一个出来使用. 1.最简单的莫过于如下获取一个Object对象实例 var obj = new Object(); 说明:此 ...

  2. 使用ServletConfig获得web.xml资源中的参数

    适用:一些不需要再Servlet文件中初始化的可以使用,例如:数据库用户名和密码 //Servlet文件 //实例化ServletConfig对象  ServletConfig servletConf ...

  3. SpringMVC格式化显示

    SpringMVC学习系列(7) 之 格式化显示 在系列(6)中我们介绍了如何验证提交的数据的正确性,当数据验证通过后就会被我们保存起来.保存的数据会用于以后的展示,这才是保存的价值.那么在展示的时候 ...

  4. messageBox以及新窗体的使用

    DialogResult dr = MessageBox.Show("你确定要点击吗", "安全提示", MessageBoxButtons.YesNo);   ...

  5. 用邻接表或vector实现存边以及具体如何调用[模板]

    存边: 对于指针实现的邻接表: struct edge{ int from,next,to,w; }E[maxn]; int head[maxn],tot=0;//head初始化为-1: void a ...

  6. QuickWebApi:使用Lambada方式,完成对WebApi的开发和调用。

    QuickWebApi 目的:使用Lambada方式,完成对WebApi的开发和调用. 缘由:为了解耦服务和展现,将越来越多的使用WebApi提供各种服务:随着服务的细化,WebApi的接口将越来越多 ...

  7. [转]How WebKit’s Event Model Works

    原文:https://homes.cs.washington.edu/~burg/projects/timelapse/articles/webkit-event-implementation/ Fi ...

  8. [转]How to compile GDB for iOS!

    ref:http://reverse.put.as/2012/04/16/how-to-compile-gdb-for-ios/ source code: http://www.opensource. ...

  9. Object-c学习之路(oc点语法)

    最近想学习object-c了自己上网找了一些资料自学了一下:oc中的点语法是为了java.c等的程序员更好的上手而添加的功能. 主函数 // // main.m // OcTest1 // // Cr ...

  10. 【Yom框架】漫谈个人框架的设计之三:业务接口+UI层的设计(基于Castle实现的Repository)

    Repository层设计的文章见:[http://www.cnblogs.com/yomho/p/3297042.html]   一.概要设计 上面Reposity 应该为 Repository 特 ...