数据库
cheene
这个作者很懒,什么都没留下…
展开
-
MySQl同时操作多条记录
MySQL对某个表中多条记录执行相同的操作 UPDATE `table_name` SET table_field = table_field + 1 WHERE id in (13,14,20,21) 在 table_name 表中,同时对主键为 13 14 20 21 的字段 table_field 的值+1原创 2020-10-19 17:07:47 · 213 阅读 · 0 评论 -
MYSQL数据库Order内部分组,值非0与0分开
一 实际业务情景: 对某个字段排序,> 0 时,升序排列;=0时,放在末尾。 二 实现方式: SELECT a FROM `tablename` ORDER BY `a` = 0,`a` asc 三 简单说明: 在排序时,先将字段a的值进行分组,分为 > 0 和 = 0 两组。 接着对每一组进行升序排列。 ...原创 2020-10-16 17:50:26 · 388 阅读 · 0 评论 -
一条MySQL查询语句是如何执行的?
首先要看到整个MySQL系统划分为哪一些部分? 客户端 各种发送请求 服务端 Server层 连接器 分析器 优化器 执行器 查询缓存(可能会逐步替代) 引擎层 各种存储引擎 执行的逻辑是什么? 客户端向数据库发送请求 数据库收到请求后找到连接器,进行初步权限认证 分析器先进行词法和语法分析 词法分析,识别输入的是什么。比如表名?列名?关键字? 语法分析,判断SQL语句是否符合语法 再执行优化器,优化主要在两个方面来体现 多个索引的时候,如何选择合适的索引原创 2020-06-21 14:04:38 · 120 阅读 · 0 评论