mysql 存储引擎事务_MySQL自学笔记7--存储引擎、事务

MySQL自学笔记

使用MySQL 5.5以及MySQL自带命令客户端

存储引擎

在数据库中,对相同的数据可以着不同的存储方式和管理方式。在MySQL中,称其为存储引擎。 看到一篇文章中关于MySQL存储引擎的描述http://www.jb51.net/article/55849.htm,感觉比较不错: > 关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。 > 有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差; > 而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。 > 对于MySQL来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。

同一张表的数据无论采用何种引擎,对于用户而言看到的数据是一样的,但是对数据库而言,是不同的!

显示存储引擎:show engines;

常用的两种表的引擎:

myisam:批量插入速度快,但是不支持事务,表锁,支持全文索引

innoDB:批量插入相对较慢,支持事务(MySQL5.5以后默认是采用innoDB存储引擎),行锁,支持全文索引

具体存储引擎及其特点如下图所示:

CGqFWtg.png

对与安全性要求不高的话选择myisam,对安全性要求高的话选择innoDB,对与临时中转表选择memory(速度最快)

举一个例子,将表的存储引擎设置为myisam:

create table table1(

id tinyint,

name varchar(10),

age tinyint unsigned

)engine = myisam;

事务:transaction

事务:并发控制的单元,是用户定义的一个操作序列,这些操作要么都做,要么都不做,是不可分割的工作单位!

事务的四个特性:ACID

原子性(A,Atomicity):一组操作要么全都执行,要么全都不执行

一致性(C,Consistency):事务的一个执行结果必须是数据库一个一致状态变到另外一个一致状态。一致性和原子性是密切相关的!

隔离线(I,Isolation):一个事务的执行不能被其他事务干扰

持久性(D,Durability):一个事务一旦提交,它对数据库的改变是永久性的。这里如果出现错误的话,事务也是不允许撤销的,只能通过‘补偿事务’来进行处理

事务是恢复和并发控制的基本单位

事务的创建

在创建事务的过程中,用户需要使用innoDB类型或者BDB类型的数据表,其基本命令结构为:create table tableName ( column defintions) type = innoDB/BDB;

也可以对表类型进行修改:alter table tableName type = innoDB/BDB;

开启事务:

SQL1语句 SQL2语句 ... commit/rooback; // commit是提交事务,rollback是回滚事务。当一个事务提交或者回滚,该事务就结束了 // 有一些语句会造成事务的隐式的提交,比如在一个事务提交或者回滚前再开始一个事务就会造成前一个事务的隐式提交!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值