数据库MySQL语句期末复习 CTGU

TRANSACTION事务

USE mydb;#使用数据库
DROP PROCEDURE IF EXITS mydb.proc_insert;#保证存储过程可写入(唯一)
DELIMITER $$ #使用$$ //等符号皆可 对整个小段语句做一个简单的封装 定界符(改变输入结束符为$$ 双美元符号)
START TRANSCTION;#开启事务
INSERT INTO t_emp VALUES(1,'Nancy',301,2300);


##插入语句
commit;#事务提交
END ##
DELIMITER;#告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了

MYISAM

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参照完整性与并发违规处理机制,后来就逐渐取代MyISAM。

ISAM索引循序存取法(Index Sequential Access Mode)

InnoDB

InnoDB,是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一。InnoDB由Innobase Oy公司所开发,2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。

PostGreSQL

PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。

并发控制CONCURRENCY CONTROL

2.1表锁 TABLE LOCK

LOCK TABLE student math=100 READ

在这里插入图片描述

2.2 事务隔离级别TRANSACTION ISOLATION LEVEL

脏读
在这里插入图片描述
不可重复读
在这里插入图片描述
幻读
在这里插入图片描述
幻读 是在同样的条件下,你读取过的未存在的数据,当你插入时,发现数据又存在了,它的重点在于insert不可重复读 是在同样的条件下,你读取过的数据,再次读取出来发现值不一样了,重点在于updatedelete
| 隔离级别| 脏读 |不可重复读|幻读|
|–|–|–|
| | | |
未提交读(Read uncommitted) 可能 可能 可能
已提交读(Read committed) 不可能 可能 可能
可重复度(Repeatable read) 不可能 不可能 可能
可串行化(Serializable) 不可能 不可能 不可能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值