12、怎么确保关联操作正确执行?

你好,我是朱晓峰。 我们经常会遇到这样的场景:几个相互关联的数据操作,必须是全部执行,或者全部不执行,不可以出现部分执行的情况。比如说,你从微信账号里提现100元到银行卡上,这个动作就包括了相互关联的2个步骤,首先是微信账号减100元,然后是银行卡账...

MySQL 必知必会

13、复杂查询,如何保存中间结果?

你好,我是朱晓峰。今天,我来和你聊一聊临时表。 当我们遇到一些复杂查询的时候,经常无法一步到位,或者是一步到位会导致查询语句太过复杂,开发和维护的成本过高。这个时候,就可以使用临时表。 下面,我就结合实际的项目来讲解一下,怎么拆解一个复杂的查询,通过...

MySQL 必知必会

14、如何简化查询?

你好,我是朱晓峰。今天,我们来聊一聊视图。 视图是一种虚拟表,我们可以把一段查询语句作为视图存储在数据库中,在需要的时候,可以把视图看做一个表,对里面的数据进行查询。 举个小例子,在学校的信息系统里面,为了减少冗余数据,学生档案(包括姓名、年龄等)和...

MySQL 必知必会

15、如何提高程序的性能和安全性?

你好,我是朱晓峰。今天呢,我们来聊一聊MySQL的存储过程。 在我们的超市项目中,每天营业结束后,超市经营者都要计算当日的销量,核算成本和毛利等营业数据,这也就意味着每天都要做重复的数据统计工作。其实,这种数据量大,而且计算过程复杂的场景,就非常适合...

MySQL 必知必会

16、怎么逐条处理数据集中的记录

你好,我是朱晓峰。今天,我来和你聊一聊游标。 咱们前面学习的MySQL数据操作语句,都是针对结果集合的。也就是说,每次处理的对象都是一个数据集合。如果需要逐一处理结果集中的记录,就会非常困难。 虽然我们也可以通过筛选条件WHERE和HAVING,或者...

MySQL 必知必会

17、如何让数据修改自动触发关联操作,确保数据一致性?

你好,我是朱晓峰。今天,我来和你聊一聊触发器。 在实际开发中,我们经常会遇到这样的情况:有2个或者多个相互关联的表,如商品信息和库存信息分别存放在2个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存...

MySQL 必知必会