MySQL
文章平均质量分 86
本栏有关MySQL学习
<一蓑烟雨任平生>
没成功之前才华等于狗屎,只有成功了才证明你的一切!
展开
-
MySQL常见面试题汇总(建议收藏!!!)
目录一、索引相关(1)什么是索引?(2)索引是个什么样的数据结构呢?(3)为什么使用索引?(4)Innodb为什么要用自增id作为主键?(5)Hash 索引和 B+ 树索引有什么区别或者说优劣呢?(6)什么是聚簇索引(6)非聚簇索引一定会回表查询吗?(6)聚簇索引和非聚簇索引的区别(6)MyISAM和InnoDB实现B+树索引方式的区别是什么?(6)MySQL中有四种索引类型,可以简单说说吗?(6)覆盖索引是什么?(6)联合索引是什么?为什么需要注意联合索引中的顺序?(6)创建的索引有没有被使用到?或者说怎原创 2021-08-12 10:45:24 · 62025 阅读 · 9 评论 -
MySQL聚簇索引和非聚簇索引的区别
目录(1)聚簇索引(2)辅助索引(非聚簇索引)(3)InnoDB索引的实现(3.1)主键索引(3.2)InnoDB的辅助索引(4)MyISAM索引的实现(4.1)主键索引(4.2)辅助索引(Secondary key)(5)总结(1)聚簇索引聚簇索引就是按照每张表的 主键 构造一棵B+树,同时叶子节点中存放的就是整张表的行记录数据,也将聚集索引的叶子节点称为数据页。这个特性决定了索引组织表中数据也是索引的一部分,每张表只能拥有一个聚簇索引。在 InnoDB 中,只有主键索引是聚簇索引,如果没有主键,则原创 2021-08-08 23:05:09 · 2720 阅读 · 0 评论 -
大数据开发面试必会的SQL 30题!!!
目录(1)查询每个区域的用户数(2)查询每个区域的男女用户数(3)查询姓张的用户数(4)筛选出id3~id5的用户(5)筛选出绩效不达标的员工(6)筛选出姓张的且绩效不达标的员工(7)查询获得销售冠军超过两次的人(8)查询某部门一年的月销售额最高涨幅(9)查询每个季度绩效得分大于70分的员工(10)删除重复值(11)行列互换(12)多列比较(13)对成绩进行分组(14)周累计数据获取(15)周环比数据获取(16)查询获奖员工信息(17)计算用户留存情况(18)筛选最受欢迎的课程(19)筛选出每个年级最受欢迎原创 2021-05-02 23:22:19 · 8643 阅读 · 20 评论 -
MySQL之子查询
目录(1)子查询的分类(1.1)select子查询(1.2)from子查询(1.3)where子查询(2)with建立临时表开发工具:mysql-8.0DataGrip数据源:chapter13_user.csvid,name,sex,classE001,李明,男,一班E002,张华,男,一班E003,薛娟,女,二班数据源:chapter13_score.csvid,score,month_numE001,687,1月E002,667,1月E003,686,1月E001,6原创 2021-04-27 22:26:04 · 550 阅读 · 0 评论 -
MySQL之多表连接
目录(1)表的横向连接(1.1)表连接的方式(1.1.1)left join(1.1.2)right join(1.1.3)inner join(1.1.4)outer join(1.2)表连接的类型(1.2.1)一对一(1.2.2)一对多(1.2.3)多对多(1.3)多张表连接(2)表的纵向连接(3)横向连接的底层原理(3.1)Simple Nested-Loop Join(简单的嵌套循环联接)(3.2)Index Nested-Loop Join(索引嵌套循环联接)(3.3)Block Nested-L原创 2021-04-26 13:18:53 · 3106 阅读 · 0 评论 -
数据分析面试题之分组求Top N值
在上次的面试过程中,遇到了一个数据分析的经典面试题,题目大概的是这样的:求出每个店铺销量为第二的销量数和日期值本题解析:本题主要考察我们分组求第N值的方法,通过运用mysql8中的窗口函数的row_number()函数,按照shopname分组,按照sales降序排序,得到出每个分组中的行号,然后通过子查询让rank_num = 2,即可求出每个店铺销量为第二的销量数和日期值。代码演示:-- 练习:求出每个店铺销量为第二的销量数和日期值(方法一)select shopname, s原创 2021-04-24 16:28:56 · 384 阅读 · 0 评论 -
MySQL之窗口函数
目录(1)什么是窗口函数(2)聚合函数+over()函数(3)partition by子句(4)order by子句(5)序列函数(5.1)ntile()函数(5.2)row_number()函数(5.3)lag()和lead()函数(5.4)first_value()和last_value()函数开发工具:mysql-8.0DataGrip数据源:chapter11.csvshopname,sales,sale_dateA,1,2020/1/1B,3,2020/1/1C,5,2020/原创 2021-04-24 14:29:51 · 698 阅读 · 0 评论 -
MySQL之数据分组与数据透视表
目录(1)对分组后的数据进行聚合运算(2)对聚合后的数据进行条件筛选(3)group_concat()函数(4)rollup(5)数据透视表开发工具:mysql-8.0DataGrip数据源:chapter10_1.csvshop,city,province,salesF1,杭州,浙江省,1A1,北京,北京,2A2,北京,北京,3A3,北京,北京,4B,泉州,福建省,5D,成都,四川省,6F2,杭州,浙江省,7C,厦门,福建省,8E,绵阳,四川省,9数据源:chapter原创 2021-04-23 11:56:54 · 1050 阅读 · 2 评论 -
MySQL之日期和时间函数
目录(1)获取当前时刻的数据(1.1)获取当前时刻的日期和时间(1.2)获取当前时刻的日期(1.3)获取当前时刻的时间(1.4)获取当前时刻所属的周数(1.5)获取当前时刻所属的季度(2)日期和时间格式转换(3)日期和时间运算(3.1)向后偏移日期和时间(3.2)向前偏移日期和时间(3.3)两个日期之间做差(3.4)两个日期之间的比较(1)获取当前时刻的数据(1.1)获取当前时刻的日期和时间-- 获取当前时刻的日期和时间select now();(1.2)获取当前时刻的日期-- 获取当前时刻的原创 2021-04-21 23:22:10 · 281 阅读 · 0 评论 -
MySQL之控制函数
开发工具:mysql-8.0DataGrip数据源:chapter8.csv原创 2021-04-20 11:07:38 · 255 阅读 · 1 评论 -
MySQL之数据运算
目录(1)算术运算(2)比较运算(3)逻辑运算(4)数学运算(4.1)求绝对值(4.2)求最小整数值(4.3)求最大整数值(4.4)随机数生成(4.5)小数点位数调整(4.6)正负判断(5)字符串运算(5.1)字符串替换(5.2)字符串合并(5.3)字符串截取(5.4)字符串匹配(5.5)字符串计数(5.6)去除字符串空格(5.7)字符串重复(6)聚合运算(6.1)count()计数(6.2)sum()求和(6.3)avg()求平均值(6.4)max()求最大值(6.5)min()求最小值(6.6)求方差(原创 2021-04-19 17:06:43 · 4588 阅读 · 0 评论 -
MySQL之数据预处理
目录(1)缺失值处理(2)重复值处理(3)数据类型转换(4)重命名开发工具:mysql-8.0DataGrip数据源:chapter6.csvorder_id,date,value,memberid,age,sex,profession112469,2017/4/5,9.32,90D24,35,男,森林业112471,2017/4/5,26.396,9548A,16,女,建筑工程业112471,2017/4/5,26.396,9548A,16,女,建筑工程业112472,2017/4/原创 2021-04-16 22:48:33 · 983 阅读 · 0 评论 -
MySQL之数据的获取
目录(1)获取列(1.1)获取全部列(1.2)获取特定的列(2)获取想要的行(2.1)获取全部行(2.1)获取前几行(2.1)获取满足单一条件的行(2.1)获取满足多个条件的行(3)行列同时获取(4)插入一列固定值(5)JSON列解析(6)对结果进行排序开发工具:mysql-8.0DataGrip数据源:chapter5.csvid,name,class,age,scoreE001,张通,一班,18,"{""语文"":98,""数学"":79,""英语"":80}"E002,李谷,一班,2原创 2021-04-15 23:29:22 · 812 阅读 · 0 评论 -
IDEA导入MySQL驱动包(Mac版)
在学习Java的JDBC技术的时候,需要将IDEA导入MySQL驱动包,下面将介绍一下如何导入驱动包。第一步:下载zip格式的驱动包:https://dev.mysql.com/downloads/connector/j/...原创 2020-02-29 19:18:32 · 6025 阅读 · 3 评论 -
MySQL常用命令查询手册
目录一、进入MySQL二、修改密码三、数据库的操作四、表结构的操作一、进入MySQLmysql -u root -p退出quit二、修改密码先进入MySQL,然后输入set password for 用户名@localhost = '新密码'示例修改密码为12345678或者直接在终端中修改:mysqladmin -u root -p password 12345678...原创 2020-03-01 21:02:05 · 947 阅读 · 0 评论 -
MySQL安装与配置(Mac、Windows系统),看不会你打我!
目录一、Windows系统下安装与配置一、Windows系统下安装与配置首先,去数据库的官网http://www.mysql.com下载MySQL。点击进入后的首页如下:原创 2020-02-29 18:30:14 · 747 阅读 · 0 评论 -
Centos7安装MySQL
目录一、下载并安装MySQL官方的 Yum Repository二、MySQL数据库设置一、下载并安装MySQL官方的 Yum Repository安装wgetsudo yum -y install wget下载MySQL官方的 Yum Repositorysudo wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm安装MySQL官方的 Yum Repositorysudo yum原创 2020-07-08 14:28:37 · 639 阅读 · 0 评论