【练习】使用事务控制语句
1.使用show engines 命令确定系统中是否有任何事务存储引擎可用以及哪个是默认引擎。
2.使用set autocommit 语句启用autocommit。
3.为使用world数据库做准备,确认city表使用事务存储引擎innodb。
4.使用start transaction 语句显式启动新事务。
5.删除一行。
6.使用rollback语句回滚打开的事务。
1.
mysql> show engines\G *************************** 1. row ***************************Engine: PERFORMANCE_SCHEMASupport: YESComment: Performance Schema Transactions: NOXA: NOSavepoints: NO *************************** 2. row ***************************Engine: CSVSupport: YESComment: CSV storage engine Transactions: NOXA: NOSavepoints: NO *************************** 3. row ***************************Engine: MRG_MYISAMSupport: YESComment: Collection of identical MyISAM tables Transactions: NOXA: NOSavepoints: NO *************************** 4. row ***************************Engine: BLACKHOLESupport: YESComment: /dev/null storage engine (anything you write to it disappears) Transactions: NOXA: NOSavepoints: NO *************************** 5. row ***************************Engine: MyISAMSupport: YESComment: MyISAM storage engine Transactions: NOXA: NOSavepoints: NO *************************** 6. row ***************************Engine: MEMORYSupport: YESComment: Hash based, stored in memory, useful for temporary tables Transactions: NOXA: NOSavepoints: NO *************************** 7. row ***************************Engine: ARCHIVESupport: YESComment: Archive storage engine Transactions: NOXA: NOSavepoints: NO *************************** 8. row ***************************Engine: InnoDBSupport: DEFAULTComment: Supports transactions, row-level locking, and foreign keys Transactions: YESXA: YESSavepoints: YES *************************** 9. row ***************************Engine: FEDERATEDSupport: NOComment: Federated MySQL storage engine Transactions: NULLXA: NULLSavepoints: NULL 9 rows in set (0.00 sec)
2.
mysql> set autocommit = 1; Query OK, 0 rows affected (0.00 sec)mysql> select @@autocommit; +--------------+ | @@autocommit | +--------------+ | 1 | +--------------+ 1 row in set (0.00 sec)
3.
mysql> use world Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -ADatabase changedmysql> show create table city\G *************************** 1. row ***************************Table: city Create Table: CREATE TABLE `city` (`ID` int(11) NOT NULL AUTO_INCREMENT,`Name` char(35) NOT NULL DEFAULT '',`CountryCode` char(3) NOT NULL DEFAULT '',`District` char(20) NOT NULL DEFAULT '',`Population` int(11) NOT NULL DEFAULT '0',PRIMARY KEY (`ID`),KEY `CountryCode` (`CountryCode`),CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `country` (`Code`) ) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1 1 row in set (0.00 sec)
4.
mysql> start transaction; Query OK, 0 rows affected (0.00 sec)
5.
mysql> select * from city where name = 'manta'; +-----+-------+-------------+----------+------------+ | ID | Name | CountryCode | District | Population | +-----+-------+-------------+----------+------------+ | 600 | Manta | ECU | Manab铆 | 164739 | +-----+-------+-------------+----------+------------+ 1 row in set (0.01 sec)mysql> delete from city where name = 'manta'; Query OK, 1 row affected (0.02 sec)mysql> select * from city where name = 'manta'; Empty set (0.00 sec)mysql> rollback; Query OK, 0 rows affected (0.02 sec)mysql> select * from city where name = 'manta'; +-----+-------+-------------+----------+------------+ | ID | Name | CountryCode | District | Population | +-----+-------+-------------+----------+------------+ | 600 | Manta | ECU | Manab铆 | 164739 | +-----+-------+-------------+----------+------------+ 1 row in set (0.01 sec)
转载于:https://www.cnblogs.com/tomatoes-/p/6024445.html
【练习】使用事务控制语句相关推荐
- MySQL 学习笔记(9)— 事务控制语句、事务属性以及并发和隔离级别
1. 事务概念 事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的 MySQL 操作要么完全执行,要么完全不执行. 下面是关于事务处理需要知道的几个术语: ...
- 事务控制语句,begin,rollback,savepoint,隐式提交的SQL语句
事务控制语句 在MySQL命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作.因此开始一个事务,必须使用BEGIN.START TRANSACTION,或者执行SE ...
- MySQL事务控制语句
在mysql命令行的默认下,事务都是自动提交的,sql语句提交后马上会执行commit操作.因此开启一个事务必须使用begin,start transaction,或者执行 set autocommi ...
- mysql begin rollback_事务控制语句,begin,rollback,savepoint,隐式提交的SQL语句
事务控制语句 在MySQL命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作.因此开始一个事务,必须使用BEGIN.START TRANSACTION,或者执行SE ...
- MySQL(InnoDB剖析):42---事务之(事务控制语句:begin、commit、rollback、savepoint、transaction)
一.事务的自动提交 默认情况下,没有使用begin显式开启事务,事务都是自动提交的 autocommit变量 该变量用于控制SQL语句是否自动提交(auto commit) 默认值为1,表示自动提交 ...
- Oracle事务控制语句
在Oracle 中,事务是原子的,要么全部提交包含在事务中的所有语句(永久的),要么所有语句回滚.这种保护也扩展到单条语句.一条语句要么完全成功执行,要么完全回滚.注意,这里所说的是语句问滚.一条语句 ...
- mysql的事务语句_MySQL提供的事务控制语句
在MySQL命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作.因此要显式地开启一个事务需要使用命令BEGIN, START TRANSACTION, 或者执行命令 ...
- MySQL中事务控制语句_Mysql事务控制语言
什么叫做事务? 现在先假设这样一个场景: 小明和小花是一对恋人:他们分处不同的城市: 某天,iphone7出来了,小花想要一个,但肾以用完,需要向小明借钱5000,于是小明开始向小花汇款: 不管小明通 ...
- MySQL 事务控制语句(TCL)
什么是事务? 一个或者一组 sql 语句组成一个执行单元,这个执行单元要么全部执行,要么全部都不执行,在这个单元中每个 sql 语句都是相互依赖的.整个单元作为一个不可分割的整体,如果单元中的某条 s ...
最新文章
- 转: GridView:当鼠标滑过,行的背景颜色发生变化
- 华为9.0系统机器一键激活xposed框架的流程
- linux命令之less命令
- Python安装第三方包package
- 数据结构——Java Stack 类
- Rancher添加主机docker命令
- 节后的第一个周末,来领取一个Ipad吧!真香!
- java如何对List集合中的元素进行排序(请收藏)
- oracle预备份,oracle自动备份
- 看拉扎维《模拟CMOS集成电路设计》的一些总结和思考(十一)——带隙基准
- 字体靠右代码_html中怎么把文字往右移
- 绕过cdn探测真实ip方法大全
- android毫秒数转换为时分秒,如何将毫秒转换成单独的时分秒的形式?
- 【矩阵论】线性空间与线性变换(1)
- (数论)[SDOI2008]沙拉公主的题目描述
- 运行vue项目时,如果一直报eslint语法错误的解决方案
- 程序员面试时候出的一些逻辑问题
- php 正文提取算法,基于机器学习的网页正文提取方法
- 字典树模板及讲解 http://www.cnblogs.com/tanky_woo/archive/2010/09/24/1833717.html
- mac中linux 命令
热门文章
- 【计算机网络】分层结构
- mysql 整个数据库_mysql 整个数据库
- android 日期时间类,Android 时间与日期操作类
- java set的first_Java Pair.setFirst方法代码示例
- java字符串是不是整数的函数_java判断字符串是否为整数的方法
- python输入流和输出流_python读写gbk、utf-8等输入输出流
- cpu开核_电脑魔改篇——CPU散热器
- POJ3614防晒霜 这个贪心有点东西(贪心+优先队列)
- SpringBoot入门详解源码分析
- 深入浅出深度学习(四)概率统计基础