mysql学习笔记--数据库事务
一、概念
1. 事务是一个不可分割的单元
2. 事务作为一个整体要么一起执行,要么一起回滚
二、事务操作
1. 开启事务
start transaction 或者begin [work]
2. 提交事务
commit
3. 回滚事务
rollback
4. delimiter:更改定界符
三、设置事务的回滚点
1. 语法
a. 设置回滚点
savepoint 回滚点名
b. 回滚到回滚点
rollback to 回滚点名
四、事务的特性
1. 原子性(atomicity):事务是一个整体,不可以再分,要么一起执行,要么一起不执行。
2. 一致性(consistency):事务完成时,数据必须处于一致的状态
3. 隔离性(isolation):每个事务都是相互隔离的
4. 永久性(durability):事务完成后,对数据的修改是永久的。
mysql学习笔记--数据库事务的更多相关文章
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
- spring学习笔记---数据库事务并发与锁详解
多事务运行并发问题 在实际应用中,往往是一台(或多台)服务器向无数客户程序提供服务,当服务器查询数据库获取数据时,如果没有采用必要的隔离机制,可能会存在数据库事务的并发问题,下面是一些常见的并发问题分 ...
- 多事务运行并发问题spring学习笔记——数据库事务并发与锁详解
多事务运行并发问题 在实际应用中,往往是一台(或多台)服务器向无数客户程序提供服务,当服务器查询数据库获取数据时,如果没有采用必要的隔离机制,可能会存在数据库事务的并发问题,下面是一些常见的并发问题分 ...
- 高性能Mysql学习笔记之事务
传送门 什么是事务? 事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就会执行该组查询.如果其中有任何一条语句因为崩溃或其他原因无 ...
- mysql学习笔记--数据库操作
一.显示数据库 show databases; 二.创建数据库 create database [if not exists] 数据库名 [字符编码] 注意: a. 如果已经存在数据库再创建会报错 b ...
- MYSQL学习笔记——数据库范式及MYSQL优化整体思路
一.数据库范式 为了建立冗余较小.结构合理的 ...
- mysql学习笔记--数据库索引
一.索引的优点:查询速度快 二.索引的缺点: 1. 增.删.改(数据操作语句)效率低了 2. 索引占用空间 三.索引类型: 1. 普通索引 2. 唯一索引(唯一键) 3. 主键索引:只要主键就自动创建 ...
随机推荐
- 7.10 break.c 程序
7.10 break.c 程序 #include <stdio.h> int main(void) { float length, width; printf("Enter th ...
- sql 存储过程和触发器
mysql----------------------------------------------------------------------------------------------- ...
- python定时器
1.定时器用法 [1]需要注意的就是创建定时器后,会创建一个线程,程序退出之前需要调用cancel()函数关闭定时器,否则程序退不出. # -*- coding: utf-8 -*- import o ...
- 01-使用eclipse新建一个标准的 java web项目
1.使用eclipse创建个普通的Java SE项目 名称:CRM java web标准目录结构 crm WEB-INF classes lib web.xml 设置项目字节码输出目录
- 关于new你应当知道的一切
new在C++中是一个我们经常用到的运算符.由它所创建的变量会被分配在堆中,并且在程序结束之前应当将分配的内存delete掉,否则就会导致内存泄漏.但是除此之外,你对new有更深入的了解吗?本篇文章将 ...
- 转:Eclipse中web项目部署至Tomcat步骤
原址:http://blog.csdn.net/lucklq/article/details/7621807 Eclipse的web工程至Tomcat默认的部署目录是在工程空间下,本文旨在将部署目录改 ...
- C5.cpp
(1)不要使用delete来释放不是new分配的内存(2)不要使用delete来释放同一个内存块两次(3)若用new[]分配内存 ,则应该用delete[]来释放(4)若用new分配内存 ,则应该用d ...
- JSON.stringify()的深度使用
在使用JSON.stringify()对JSON数据进行序列化时 1> 如果里面的属性是function,则会被忽略 const data = { a: 'a', fn: funciton() ...
- java.lang.StackOverflowError
在开发中经常会遇到内存溢出的情况,大部分原因是因为:代码中有死循环.过度递归等情况 解决办法:看报错 找到是因为死循环还是过度递归,改掉即可 我的报错原因是使用了 new Gson.().toJson ...
- FPGA——流水灯(一)
对于FPGA的结构原理,先不进行全面的了解,先能根据教程程序看得懂,写得出来跑起来.慢慢的了解程序运行的原理,各种语法的使用. 今天对流水的程序有一个认识,熟悉软件的使用,语法规则,原理.以正点原子的 ...