mysql
咸鱼突击
这个作者很懒,什么都没留下…
展开
-
mysql行列转换
记一个简单的行列转换有如下一张表:要转换为:sql语句为:select t.name,sum(case when t.`subject` = '语文' then t.score end) as '语文',sum(case when t.`subject` = '数学' then t.score end) as '数学' ,sum(CASE when t.`subj...原创 2020-04-24 15:44:21 · 173 阅读 · 0 评论 -
sql优化
1.表连接数:连接的表越多,性能越差可能的话,将连接拆分成若干个过程逐一执行优先执行可显著减少数据量的连接,既降低了复杂度,也能够容易按照预期执行外连接没有内连接效果好,因为必须对左右表进行表扫描2.子查询效率低,尽量少用3.避免使用null列,null列使用索引没有意义4.模糊查询不要在首位加%,会导致无法使用索引,直接全表扫描5.order by子句不要使用非索引列或嵌套表...原创 2019-12-24 22:39:45 · 91 阅读 · 0 评论 -
事务隔离级别
一、什么是事务事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。二、事务的特...转载 2019-12-23 12:40:47 · 95 阅读 · 0 评论 -
数据库索引
内容来源:https://github.com/Snailclimb/JavaGuide一、为什么要使用索引通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性可以大大加快数据的检索速度(大大减少检索的数据量),这也是创建索引的最主要原因帮助服务器避免排序和临时表将随机IO变为顺序的IO可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别的有意义二、为什么不对表中的...转载 2019-12-20 21:50:29 · 120 阅读 · 0 评论 -
多表查询_未参加考试的学生_学生成绩档_case when then else end
sql表班级表class学生表student成绩表scores1:查询没有参加考试(没有成绩表)的学生SELECT s.sid,s.sname,s.sex,c.cname,sc.languages,sc.math FROM student as s LEFT JOIN class as c on s.cid = c.cid LEFT JOIN scores as sc o...原创 2019-11-11 16:56:13 · 7101 阅读 · 1 评论 -
(分组排序、获取多个分组中的第一条数据)ROW_NUMBER() OVER()函数用法详解
点击跳转原博客语法格式:row_number() over(partition by 分组列 order by 排序列 desc)row_number() over()分组排序功能:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、order by 的执行。例一:表数据:create table TEST_R...转载 2019-10-25 16:55:38 · 3186 阅读 · 0 评论 -
数据库基础知识总结
不知道为什么编辑好的格式,显示出来就没了 !!(╯’ - ')╯︵ ┻━┻一、数据库概述1、数据库,存储、维护、管理数据的集合(仓库)。2、DB:database 数据库,使用仓库存储数据的。3、DBMS:数据库管理系统 软件。4、CRUDcreate 增加Retrieve 读取(重新得到数据)update 更新delete 删除二、sql语句sql:结构化查询语言...原创 2019-06-05 20:48:09 · 388 阅读 · 0 评论