MySQL
龍的天空
一枚流浪社会的码农
展开
-
mysql行转列汇总数据
最近找工作面试的时候做了这一道题:score表:要求根据score表汇总为下面这种:这道题要用到汇总,所以我们要用 sum函数,一个人对应一条数据,所以我们要对name进行group by分组:SELECT s.name,SUM(CASE WHEN s.category='语文' THEN s.score ELSE 0 END) AS '语文', SUM(CASE WHEN s.category='数学' THEN s.score ELSE 0 END) AS ..原创 2020-06-03 21:19:10 · 1646 阅读 · 0 评论 -
CentOS7如何安装mysql数据库
1. 输入命令:yum install mysql*,安装mysql相关依赖,安装的东西比较多,耐心等待一下;2.输入命令:yum install mariadb-server3. 启动数据库:systemctl start mariadb.service启动完成之后我们可以通过查看mysql进程有没有启动成功:ps -ef | grep mysql查看330...原创 2020-04-21 13:14:33 · 1372 阅读 · 0 评论 -
联合索引之最左匹配原则
SELECT * FROM testTableWHERE a = 1 and b = 2 and c > 3 and d=4;原创 2020-03-24 13:45:36 · 1050 阅读 · 0 评论 -
MySQL如何开启慢查询日志定位查询慢的sql语句
1.查看慢查询日志是否开启命令:show variables like '%query%';图中圈起来的就是慢查询日志,默认是关闭的。打开慢日志查询命令:set global slow_query_log=on;设置sql语句执行两秒钟以上就写到慢查询日志中:set global long_query_time=2;设置完后要重新连接客户端才能看到设置后的long_q...原创 2020-03-23 18:39:24 · 1268 阅读 · 0 评论 -
MySql如何设置事务的隔离级别
首先我们通过命令:select @@tx_isolation; 来查看当前数据库的隔离级别Mysql默认的隔离级别为REPEATABLE-READ(不可重复读)。设置隔离级别的命令为:set session transaction isolation level +隔离级别设置隔离级别为读取未提交:set session transaction isolation level ...原创 2020-03-23 13:05:00 · 819 阅读 · 0 评论 -
为什么MySql索引不用Hash结构
1.Hash索引仅仅能满足“=”,“IN”,不能支持范围查询2.对于排序操作Hash索引也满足不了3.Hash索引不能避免表扫描4.当有大量数据的Hash值相等的时候Hash索引的性能大打折扣...原创 2020-03-22 10:42:47 · 2544 阅读 · 0 评论 -
mysql取两个数据表其中一条数据
需求:根据特定条件先去取A表的数据,如果A表不存在就取B表的数据;mysql语法为: SELECT * case when h.START_TIME is null then g.START_TIME else h.START_TIME end START_TIME, case when h.END_TIME is null then g.END_TIME else h...原创 2020-01-10 09:21:34 · 1215 阅读 · 0 评论 -
mysql统计某个字段的比例
需求:统计下面这个字段中'A'、'B'、'C'、'D'所占总数的比例,保存两位小数。对于这个需求我们可以用ROUND函数来保留两位小数,用CASE来统计'A'、'B'、'C'、'D'各自占的比例:ROUND(COUNT(CASE WHEN result='A' THEN result END)/COUNT(*),2) AS rate_a,ROUND(COUNT(CASE WHEN ...原创 2019-12-13 17:04:33 · 3730 阅读 · 0 评论