CSDN新星计划第3季
活动详情地址:https://marketing.csdn.net/p/aeb393e206ac127c1f8dc5194cef8923
参赛赛道:大数据赛道
话题描述:
现在CSDN、知乎、掘金上各路大佬层出不穷,他们身经百战、血洗杀场,总结出满满的求职干货。但同时也存在很多非良心的博主,要么活出了人类的本质,复读机一样到处转载;要么纯粹自嗨型草草说了自己的经验,让读者无法从良莠不齐的资源海洋中高效高质地获取真正有用的信息。本话题的目的很简单,一句话:用最少的时间,最高效率,让你清楚:想要拿到Androidoffer,你需要做什么?你该怎么做?
文章目录
🌅前言
这一节继续介绍MySQL数据库,主要介绍了DQL(数据查询语言),内容主要以查询语言为主。由于篇幅过长,DQL(数据查询语言)将分成两篇介绍。第一篇主要包括数据查询语言之基础查询、条件查询、排序查询、常见函数等内容。其中,主要介绍每一类查询语言的语法和其特点。
😂基础查询
- 语法
select 查询列表
from 表名;
- 特点
- 查询列表可以是字段、常量值、表达式、函数、也可以是多个
- 查询结果是一个虚拟表
- 示例
- 查询单个字段 select 字段名 from 表名;
- 查询多个字段 select 字段名,字段名 from 表名;
- 查询所有字段 select * from 表名;
注:
①在做查询时,需打开指定的库,在最上面先写命令 USE库名; ②着重号’ '可用来区分是关键字还是字段; ③执行就选中谁来进行实现命令。 - 查询常量
注:
MySQL中不区分字符和字符串 - 查询函数 select 函数名(实参列表);
- 查询表达式 select 100%98;
- 起别名 ①使用as 好处: –便于理解 –如果要查询的字段有重名的情况,使用别名可以区分开来 ②使用空格
注:
要是别名中有特殊符号如空格、#等建议将别名加上双引号 - 去重 select distinct 字段名 from 表名;
- +号 作用:做加法运算 select 数值+数值;直接运算 select 字符+数值;先试图将字符转换成数值,如果转换成功,则继续运算;否则转换成0,再做运算 select null+值;结果都为null
- 【补充】concat函数 功能:拼接字符 select concat (字符1,字符2,字符3,…)
- 【补充】ifnull函数 功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原来的值 select ifnull (commission_pct,0) from employees;
- 【补充】isnull函数 功能:判断某字段或表达式是否为null,如果是,则返回1,否则返回0;
😝条件查询
- 语法
select 查询列表
from 表名
where 筛选条件
- 筛选条件的分类
- 简单条件运算符 < > = <> != >= <= <=>安全等于
- 逻辑运算符 && and || or ! not
- 模糊查询
- like
特点:
①一般搭配通配符使用,可以判断字符型或数值型
②通配符:%任意多个字符,包含0个字符;_任意单个字符
- between and
①使用between and 可以提高语句简洁度
②包含临界值
③两个临界值不要调换顺序
- in
含义:判断某字段的值是否属于 in 列表中的某一项
①使用 in 提高语句简洁度
②in 列表的值类型必须一致或兼容
③不适用通配符
- is null / is not null =或< >不能用于判断 null 值 is null 或 is not null 可以判断 null 值
is null
PK
<=>
is null : 仅仅可以判断null值,可读性较高,建议使用
<=>:既可以判断null值,又可以判断普通的数值,可读性较低
😊排序查询
- 语法
select 查询列表
from 表
where 筛选条件
order by 排序列表【asc / desc】
- 特点
①asc代表的是升序,desc代表的是降序。如果不写,默认是升序
②order by 子句中支持单个字段、多个字段、函数、表达式、别名
③order by 子句一般是放在查询语句的最后面,limit 子句除外
😋常见函数
1、概述
- 功能:类似于 java 的方法,将一组逻辑语句封装在方法体中,对外暴露方法名
- 好处:①隐藏了实现细节②提高代码的重用性
- 调用:select 函数名(实参列表)【from 表】;
- 特点:①叫什么(函数名)②干什么(函数功能)
- 分类:①单行函数:如concat 、length、ifnull等 ②分组函数:功能-做统计使用,又称为统计函数,聚合函数,组函数
2、单行函数
字符函数
命令功能concat连接substr截取子串upper变大写lower变小写replace替换length获取字节个数trim去前后空格lpad左填充rpad右填充instr获取子串第一次出现的索引数学函数
命令功能round四舍五入ceil向上取整floor向下取整truncate截断mod取余rand获取随机数,返回0-1之间的小数日期函数
命令功能now返回当前日期 +时间year返回年month返回月day返回日date_format将日期转换成字符curdate返回当前日期str_to_date将字符转换成日期curtime返回当前时间hour小时minute分钟second秒datediff返回两个日期相差的天数monthname以英文形式返回月
一些日期的格式符表示
序号格式符功能1%Y四位的年份2%y两位的年份3%m月份(01,02,…11,12)4%c月份(1,2,…11,12)5%d日(01,02,…)6%H小时(24小时制)7%h小时(12小时制)8%i分钟(00,01…59)9%s秒(00,01,…59)
其他函数
命令功能version当前数据库服务器的版本database当前打开的数据库user当前用户流程控制函数 ①if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2 ②case情况1 case 变量或表达式或字段 when 常量1 then 值1 when 常量2 then 值2 … else 值n end ③case情况2 case when 条件1 then 值1 when 条件2 then 值2 … else 值n end
3、分组函数
分类
命令功能max最大值min最小值sun和avg平均值count计算个数特点
①语法
select max(字段) from 表名;
②支持的类型
sum和avg一般用于处理数值型
max、min、count可以处理任何数据类型
③以上分组函数都忽略null
④都可以搭配distinct使用,实现去重的统计
select sum(distinct 字段)from 表;
⑤count函数
count(字段):统计该字段非空值的个数
count(*):统计结果集的行数
count(1):统计结果集的行数效率上: MyISAM存储引擎,count(*)最高 InnoDB存储引擎,count(*)和count(1)效率>count(字段)
⑥和分组函数一同查询的字段,要求是group by 后出现的字段
🌄总结
这一篇主要介绍了数据查询语言的一些查询类型,下一篇将继续介绍其他几种数据查询语言类型。
版权归原作者 sherry9615 所有, 如有侵权,请联系我们删除。