`

事务处理及锁定

 
阅读更多
1.了解Mysql的存储引擎
mysql提供了多种存储引擎,用户可以根据自己的目的或洗好来选择存储引擎。
2.设置存储引擎
要使用事物处理功能时,必须将表设置为InnoDB引擎。有的Mysql版本安装后,并没有激活InnoDB引擎,这时候需要修改my.ini等文件来激活InnoDB
引擎。
确认现在使用了什么存储引擎:show create table customer;
engine=InnoDB 等于后面的部分是正使用中的引擎。通常没有特别指定的引擎,将默认引擎MyISAM。
3.存储引擎的改变:
alter table customer ENGINE=MyISAM;
4.事务处理:
演示简单的事物处理-----删除后回滚
首先将表customer的存储引擎该为InnoDB。
alter table customer ENGINE=InnoDB;
确认表customer中的数据。
select * from customer;
事物开始。
begin;
删除表customer中的全部数据。
delete from customer;
再次确认customer中的数据。
select * from customer;
回滚处理。
rollback;
确认customer中的数据是够恢复。
select * from customer;
注意:如果将rollback换成commit,那么删除的处理就被提交,在也不可恢复,在执行commit前还需要最后确认以下。
5.自动提交功能
将自动提交功能设置为off:set autocommit=0;
将自动提交功能设置为on:set autocommit=1;
6.部分回滚----只提交针对数据库的部分操作
上面学习了rollback语句的最基本用法,即回滚到事物开始的状态。其实还可以在事物处理过程中定义保存点 savepoint,然后回滚到指定的保存点前的状态,其工作原理:
下面将向表插入3条数据,在第二条数据的后面定义一个保存点。
begin;
insert into customer values(‘T001’,'王二小',‘1990-01-01’,‘1’);
insert into customer values(‘T002’,'小明',‘1990-01-01’,‘1’);
SAVEPOINT sp;
insert into customer values(‘T003’,'小红',‘1990-01-01’,‘0’);
select * from customer;
rollback to savepoint sp;
select * from customer;
结果显示sp 保存点以后的插入记录没有插入进去。
7.事物处理的利用范围:
下面几条sql命令,执行后将自动被提交,是在事物处理可以利用的范围之外。
drop database;
drop table;
drop;
alter table;
8.锁定的种类:
按照使用的目的可以将锁分为共享锁定(Shared Lock)与排他锁定(eXclusive Lock)。
共享锁是当前用户参照数据时,将对象数据变为只读形式的锁。
排他锁定是使用insert、update、delete 命令数据进行更新时锁定。
9锁定粒度
锁定对象的大小,单位通常被称为锁定的粒度。
记录(行)。
表。
数据库。
分享到:
评论

相关推荐

    mySQL事务处理

    关于mysql的事务处理 public static void StartTransaction(Connection con, String[] sqls) throws Exception { if (sqls == null) { return; } Statement sm = null; try { // 事务开始 System....

    数据库的事务处理和并发控制

    事务是一个逻辑工作单元,SQL Server 2005 提供了几种自动的可以通过编程来完成的机制,包括事务日志、SQL事务控制语句,以及事务处理运行过程中通过锁定保证数据完整性的机制。当用户对数据库并发访问时,为了确保...

    数据库事务处理

    SQL Server 2000数据库系统通过事务保证多个数据库操作在一起处理,而事务使用锁定技术来防止其他数据库用户来更新或读取末完成事务中的数据。同时,SQL Server数据库系统为了提高自身的性能,实现多用户之间数据的...

    mysql 事务处理及表锁定深入简析

    本文将详细介绍mysql 事务处理及表锁定,需要了解更多的朋友可以参考下

    TwoPhaseLocking:严格的两阶段锁定协议用于并发控制,使用等待死锁方法来处理死锁

    严格的两阶段锁定协议用于并发控制,使用等待死锁方法来处理死锁 程序的设计与实现: 我设计了两个HashMap来跟踪所有事务,并设计了PriorityQueue来存储等待的事务。 我们将所有操作的列表存储在交易表(TT)和锁定...

    mongoTransactions:MongoDB 中的并发事务处理

    使用 MongoDB 的并发事务处理 此并行程序使用细粒度记录锁定对 MongoDB 文档执行原子事务。 同步基于 Tera MTA 风格的 Full/Empty 内存语义和访问原语(readFE、writeEF),并且状态存储在 {full_empty:'empty'} ...

    数据库事务分析

    SQL Server提供了几种自动的可以通过编程来完成的机制,包括事务日志、SQL事务控制语句,以及事务处理运行过程中通过锁定保证数据完整性的机制。当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要...

    mysql事务select for update及数据的一致性处理讲解

    MySQL中的事务,默认是自动提交的,即autocommit = 1; 但是这样的话,在某些情形中就会出现问题:比如: 如果你想一次性插入了1000条数据,mysql会commit1000次的, ...在SELECT 的读取锁定主要分为两种方式:

    数据库系统中事务的ACID原则.pdf

    当事务处理系统创建事务时,将确保事务有某些特性。组件的开发者们假设事务的特性应该是⼀些不需要他们亲⾃管理的特性。这些特性称 为ACID特性。 ACID就是:原⼦性(Atomicity )、⼀致性( Consistency )、隔离性或独...

    oracle常见的锁查询和处理

    DML事务锁定的机制 行级锁(TX锁) 表级锁(TM锁) 锁定相关视图 v$transaction v$lock 5 v$enqueue_lock v$session 检测并解决冲突 常见的锁查询和处理 当前系统中存在的锁争用: 引发争用的session信息: 引发争...

    基于WEB的事务跟踪系统

    推动了软件开发行业的迅猛发展,团体开发软件已经是非常重要的软件开发手段,为了加强团体协作的高效性和对软件开发的同步和准确性,实现对软件开发过程的有效的管理和对开发事务的有效及时的处理,就需要一款适合...

    Oracle数据操作和控制语言详解.pdf

    7. 锁定表 3 8. 死锁 4 9. 事务控制 4 10. Savepoint 和 部分回滚(Partial Rollback) 5 11. 一致性和事务 6 12. 建立和修改用户 8 13. 创建和更改用户账号 9 14. 权限和角色 10 15. 对象权限 11 16. 系统权限 12

    记录被另一个用户锁住解决方法

    oracle数据中删除数据时提示“记录被另一个用户锁住” 解决方法

    交易处理系统的作用-研究论文

    事务处理系统或事务处理监视器是一组信息,用于处理监视事务程序的数据库系统中的数据事务。事务程序的本质是它管理必须保持一致状态的数据。 如果进行电子付款,则必须将这笔款项都从一个帐户中提取并添加到另一个...

    sqlite3-transactions:向 node-sqlite3 添加事务支持

    底层 SQLite 数据库可以轻松处理事务,因此您仍然可以执行以下操作: db . serialize ( function ( ) { db . exec ( "BEGIN" ) ; ... db . exec ( "COMMIT" ) ;} ) ; 这工作正常,直到您在BEGIN和...

    mysql 锁表锁行语句分享(MySQL事务处理)

    下面这个语句是锁定一行数据,开始读取,一直到删除后都不会有第二个人也读到这条数据

    J2EE 体系结构及技术介绍

    二是使服务器能控制组件的生命周期和其它资源,以便能够处理扩展、并发、事务处理管理和安全性等问题。 J2EE平台为设计、开发、安装和部署企业应用提供基于组件的方法。这种方法不但能降低成本,还能快速跟踪设计和...

    面试宝典MySql.txt

    InnoDB 存储引擎支持事务,主要面向 OLTP(联机事务处理过程)方面的应用,其特点是行锁设置、支持外键, 并支持类似于 Oracle 的非锁定读,即默认情况下读不产生锁。InnoDB 将数据放在一个逻辑表空间中(类似 ...

    RDF的多粒度锁定模型-研究论文

    本文提出了一种锁定模型,该模型是多粒度锁定协议(MGL)的一种变体,用于解决处理RDF数据的事务之间的隔离。 定义了四个“分层”相关的粒子,以及新的读/写操作及其相应的锁定模式,这些是专门为RDF数据模型创建的...

Global site tag (gtag.js) - Google Analytics