![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 78
weixin_42873905
这个作者很懒,什么都没留下…
展开
-
数据库--触发器、存储过程
触发器:当一个事件(操作)触发器触发,去执行另外一系列操作。创建触发器:触发器时间:before、after触发事件:insert、delete、update此时的@count = 1;那么我们在插入一组元素后:我们可以看到,此时触发器触发,@count = 2;还有一个关键字和insert类似,就是replace:不同之处:insert插入的时候,如果主键重复,那么会提示插入失败;如果此时使用replace,那么它会先将表中的删除,然后再执行插入。当然,如果是主键不重复,那么insert原创 2020-11-08 12:46:19 · 306 阅读 · 0 评论 -
数据库--锁机制
1.共享读锁共享读锁是基于存储引擎MyISAM中读锁的,MyISAM是表锁。首先是事务A加读锁,此时自己是可以进行读操作的。在事务B中再进行查询操作,发现仍然是可以的。可以得出读锁read是共享读锁,即一个事务添加读锁的时候,其他的事务也可以读。2.独占写锁它也是基于存储引擎MyISAM中写锁。(1)事务A自己加读锁,然后自己进行写操作,发现提示错误,是不允许的。(2)事务A加读锁,在事务B中写操作呢?那么会出现等待的情况,等待事务的读锁解锁之后,它才会修改成功。(3)事务A加原创 2020-11-07 17:10:40 · 198 阅读 · 0 评论 -
数据库--事务
事务:一组特定的SQL语句的集合(ACID)A 原子性:要么全部执行成功,要么全部执行失败–事务回滚C 一致性:事务执行前后完整性约束I 隔离性:消除多个事务之间的影响D 持久性:事务执行的结果要在磁盘上永久的保存如果没有隔离性,会出现什么问题?(如下图123,按顺序)1.脏读–执行中A事务中将张三的工资由5000更新到8000,此时A时间片轮转完,交给B事务。B事务获取到张三的工资是8000了,接下来进行一系列的操作,B时间片轮转完,交给A事务。此时由于某种原因张三的工资暂时不能涨了,那原创 2020-11-05 10:36:21 · 254 阅读 · 0 评论 -
数据库--索引
索引:索引就是一种数据结构,创建一种数据结构来提高查询的效率。其中,两种常用的存储引擎MyISAM和INnoDB都是依靠B+树来实现的。但是底层的细节却不相同:MyISAM:B+树:数据和索引分离(数据在表中存储,在树中存储的是索引值,通过索引值找到相应的位置,然后通过叶子节点上的地址找到数据在表中的位置就可以了,叶子节点上并不直接存储其他的信息,这就是分离)INnoDB:B+树:数据当成索引的一部分存储(通过索引值找到相应的叶子节点,在叶子节点下面存储的直接就是相关信息,而不是地址值,这就是当原创 2020-11-04 19:03:05 · 79 阅读 · 0 评论