16、游标

我们在编写SQL语句的时候通常是面向集合进行思考,这种思考方式更让我们关注结果集的特征,而不是具体的实现过程。面向集合的思考方式与面向过程的思考方式各有特点,我们该如何理解它们呢? 我们用下面这张图开启今天的学习。这张图中一共有9个图形,每个图形有不...

15、初识事务隔离

上一篇文章中,我们讲到了事务的四大特性ACID,分别是原子性、一致性、隔离性和持久性,其中隔离性是事务的基本特性之一,它可以防止数据库在并发处理时出现数据不一致的情况。最严格的情况下,我们可以采用串行化的方式来执行每一个事务,这就意味着事务之间是相互...

14、事务处理

我们知道在MySQL 5.5版本之前,默认的存储引擎是MyISAM,在5.5版本之后默认存储引擎是InnoDB。InnoDB和MyISAM区别之一就是InnoDB支持事务,也可以说这是InnoDB取代MyISAM的重要原因。那么什么是事务呢?事务的英...

13、存储过程

上一节我介绍了视图,它是SQL中的一个重要应用,使用视图对SQL查询进行封装,可以让SQL的代码结构更清晰,让用户权限管理更安全。 今天我来讲一下SQL的存储过程,它是SQL中另一个重要应用,和视图一样,都是对SQL代码进行封装,可以反复利用。它和视...

12、视图

我们之前对SQL中的数据表查询进行了讲解,今天我们来看下如何对视图进行查询。视图,也就是我们今天要讲的虚拟表,本身是不具有数据的,它是SQL中的一个重要概念。从下面这张图中,你能看到,虚拟表的创建连接了一个或多个数据表,不同的查询应用都可以建立在虚拟...