首页 文章

    mysql常用语句——GROUP BY和HAVING

    # 创建表结构 ```bash create table `employ_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL DEFAULT '', `dept` char(20) NOT NULL DEFAULT '', `salary` varchar(255) NOT NULL DEFAULT '', `edlevel` int(11) NOT NULL DEFAULT 0, `hiredate` v

    作者:RainNight 2021-02-4 所属分类:[MySQL]

    MYSQL IN和OR效率问题分析

    ### [MYSQL IN和OR效率问题分析](http://www.netearn.top/article/40) ### [先说结论:IN 比 OR 快](http://www.netearn.top/article/40) * 假设检索的列为N,IN 的时间复杂度为 O(LogN),而 OR 的时间复杂度为 O(N) * 在数据量少于100条时的情况下差别不大 * 当要检索的列为主键索引时,IN 的执行速度和 OR 差别不大 * 当要检索的列为普通索引时,IN 的执行速度和 OR 差别不大

    作者:RainNight 2021-02-4 所属分类:[MySQL]

    mysql字符集问题

    # mysql字符集问题 ## 导读 ```sql 我们新建mysql数据库的时候,需要指定数据库的字符集,一般我们都是选择utf8这个字符集,但是还会又一个utf8mb4这个字符集,好像和utf8有联系,今天就来解析一下这两者的区别。 ``` ## 起源 ```sql MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为

    作者:RainNight 2021-03-6 所属分类:[MySQL]

    MySQL分组取前 N 条记录

    ## [score表:](http://www.netearn.top/article/72) ```sql CREATE TABLE `score` ( `student_id` int(10) DEFAULT NULL, `class_id` int(10) DEFAULT NULL, `score` int(5) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ``` 字段 st

    作者:RainNight 2021-03-8 所属分类:[MySQL]

    MySQL常用的几种查询场景

    ### 查询出某班级的学生成绩及成绩排名 --- ```sql SELECT total.* FROM (SELECT obj.class, obj.grade, obj.exam_id, obj.exam_subject_id, obj.total_score, CASE WHEN @rowtotal = obj.total_score THEN @rownum WHEN @rowtotal := obj.total_score THEN @rownum := @rownum + 1 WHEN

    作者:RainNight 2021-03-15 所属分类:[MySQL]

    MYSQL批量修改表前缀

    ## 生成相应语句 ```sql SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ps_', substring(table_name, 8), ';' ) FROM information_schema. TABLES WHERE table_name LIKE 'parking%'; ``` ## 拷贝相应的语句 ```sql ALTER TABLE parking_account RENAME TO ps__account; A

    作者:RainNight 2021-03-15 所属分类:[MySQL]

    MYSQL中UNION和UNION ALL的区别有哪些?

    在mysql中如何想要对两个结果集进行合并操作,可以使用UNION和UNION ALL,如果只是想要去除掉重复的记录,属于UNION ALL 即可,但是如何想要除掉没有重复行数据,就要使用Union。本文详细向大家介绍mysql中UNION和UNION ALL的区别。 ## 1、具体作用不同 UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据) UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据) ## 2、使用不同 使用UNION关键字

    作者:RainNight 2021-06-6 所属分类:[MySQL]

    乐观锁和悲观锁的区别

    # 乐观锁 > 在关系数据库管理系统里,乐观并发控制(又名”乐观锁”,Optimistic Concurrency Control,缩写”OCC”)是一种并发控制的方法。它假设多用户并发的事务在处理时不会彼此互相影响,各事务能够在不产生锁的情况下处理各自影响的 那部分数据。在提交数据更新之前,每个事务会先检查在该事务读取数据后,有没有其他事务又修改了该数据。如果其他事务有更新的话,正在提交的事务会进行回 滚。乐观事务控制最早是由孔祥重(H.T.Kung)教授提出。 ## 乐观并发控制的阶段 乐观

    作者:RainNight 2021-07-15 所属分类:[MySQL]

    SQL开发中常用到的几种去重方案

    # SQL开发中常用到的几种去重方案 ----- ## *distinct去重* * stinct只能返回他的目标字段,而无法返回其他字段, ![file](/static/upload/bigpic/20210807/1628327768166423674.png) ``` select distinct name from user ``` ![file](/static/upload/bigpic/20210807/1628327805952518633.png) 一般distinct用来

    作者:RainNight 2021-08-7 所属分类:[MySQL]

    MySQL Explain的使用和详情说明

    # MySQL Explain的使用和详情说明 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。 ``` explain SEL

    作者:RainNight 2021-09-7 所属分类:[MySQL]

网盘推荐

微信公众号

书籍标签