* * [简单了解 autocommit](about:blank#_autocommit_244)
* [(1)分别以root和自己的用户连接MySQL服务器,并分别输入命令SET AUTOCOMMIT=0;](about:blank#1rootMySQLSET_AUTOCOMMIT0_260)
* [(2)root将表SPJ中供应商s1所供应的零件数量(qty)都增加50,此即事务1。](about:blank#2rootSPJs1qty501_275)
* [(3)自己的用户将表SPJ中供应商s1所供应的零件数量(qty)都增加30,此即事务2。](about:blank#3SPJs1qty302_281)
* [(4)观察发生什么现象,分析为什么,找出解决办法。](about:blank#4_291)
* [(5)root分别输入commit和rollback命令时,观察两个用户界面的信息及变化,并用select语句查看表SPJ中的qty属性值的变化,注意观察在root事务commit(rollback)前后以及自己的用户事务commit后qty属性的值的变化情况。](about:blank#5rootcommitrollbackselectSPJqtyrootcommitrollbackcommitqty_305)
* * [commimt](about:blank#commimt_306)
* [rollback](about:blank#rollback_312)
=============================================================================
(1) 巩固事务的概念
(2) 正确理解并发的概念及锁机制
(3) 熟悉DBMS的安全机制
===============================================================================
硬件:微机
软件:MySQL 5.6及以上版本
=======================================================================
这次实验是建立在第一次实验的数据库及表的基础上:【数据库系统设计】SQL语言实验
如果做过第一次实验的话,直接跳过往下看即可。
如果没有做过第一次实验,请用以下SQL快速完成建表与插入数据的操作。
创建 SPJ 数据库:
CREATE DATABASE SPJ210224;
USE SPJ210224; #进入刚创建的数据库
创建四个基表 S、P、J、SPJ:这里就直接把插入信息后的表的SQL语句放出来了。
创建S表的SQL:
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF