北邮大三下第7次数据库实验报告mysql

上传人:m**** 文档编号:430979847 上传时间:2023-08-17 格式:DOC 页数:6 大小:162KB
返回 下载 相关 举报
北邮大三下第7次数据库实验报告mysql_第1页
第1页 / 共6页
北邮大三下第7次数据库实验报告mysql_第2页
第2页 / 共6页
北邮大三下第7次数据库实验报告mysql_第3页
第3页 / 共6页
北邮大三下第7次数据库实验报告mysql_第4页
第4页 / 共6页
北邮大三下第7次数据库实验报告mysql_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《北邮大三下第7次数据库实验报告mysql》由会员分享,可在线阅读,更多相关《北邮大三下第7次数据库实验报告mysql(6页珍藏版)》请在金锄头文库上搜索。

1、Catherine2015年实验七 数据库的事务创建与运行实验一、实验内容 定义三种模式的数据库事务 察看事务的隔离级别二、实验要求1、用SQL语句完成以上操作2、 要求学生独立完成以上内容。3、 实验完成后完成要求的实验报告内容。三、实验环境系统:windows 7软件:mysql5.6四、 实验步骤及结果分析1、定义三种模式的数据库事务(1)显示事务显式事务是由设计人员明确定义事务的启动与结束的一种事务。可使用BEGINTRANSACTION、COMMITTRANSACTION、COMMITWORK、ROLLBACKTRANSACTION、ROLLBACKWORK等语句来定义显式事务。显示

2、事务的特点是要么删除和插入同时成功,要么同时失败.先创建一个cou练习表。create table cou asselect * from course;mysql默认采用autocommit模式运行。故为了创建显式事务,我们需要修改autocommit变量。先查看此变量的默认值。set autocommit=0;禁止事物自动提交,并创建一个显示事务。查看表中原始内容,create table cou asselect * from course;select* from cou;执行第一条插入语句并设置回滚点r1:INSERT INTO cou VALUES(C06,test1,80,2 ,

3、秋);Savepoint r1;执行第二个插入语句并设置第二个回滚点:INSERT INTO cou VALUES(C07,test2,80,2 ,秋);savepoint r2;回滚到r1,那么r2自动被丢弃:直接回滚撤销:(2)自动提交事务Mysql默认autocommit模式运行。当运行设置的回滚点是会提示出错:如图,虽然执行了回滚操作,然而并没什么用。(3)隐式事务虽然我们设置自动提交为OFF,但是在事务中如果有createtable,alter,dropindex等等语句,则隐含地结束一个事务,似乎是在执行本语句前,你已经进行了一个commit。初始表格:建立表格te后:而此时,回滚

4、并没有用,事务已经隐式提交了。2、 察看事务的隔离级别SQL标准定义了四种事务的隔离级别:Read Uncommitted(读取未提交内容),Read Committed(读取提交内容),Repeatable Read(可重读)Serializable(可串行化)查看系统上表锁定争夺:查看系统上的行锁的争夺情况:InnoDB以Oracle的风格,对行级进行锁定,并且默认运行查询作为非锁定持续读。查看innodb系统级别的事务隔离级别:查看innodb会话级别的事务隔离级别:五、 实验总结(1) 在运行事务设置回滚点之前,注意设置autocommit=0,否则会提示设置的回滚点不存在。(2) R

5、epeatable Read(可重读)是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读 (Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了,(3) 对于事务处理这部分,我了解的很少,大多资源都是从网络上得到的,对于锁,也只是理解了他的作用和理论,并没有进行太多应用,希望今后能更多地了解了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号