MySQL—DQL语言(数据查询语言)

MySQL—DQL语言(数据查询语言)

一、条件查询

(一)语法

select 查询列表
from 表名
where 筛选条件;

(二)筛选条件的分类

1、简单条件运算符
>   <   =   !=   >=   <=   <=>安全等于
2、逻辑运算符
and   or   not
3、模糊查询
like //一般搭配通配符使用,可以判断字符型或数值型
//通配符:%任意多个字符;_任意单个字符
between and
in
is null|is not null//用于判断null值

二、排序查询

(一)语法

select 查询列表
from 表名
where 筛选条件
order by 排序列表 [asc|desc];//asc升序,desc降序

(二)特点

1、asc:升序,如果不写默认升序

2、排序列表支持单个字段、多个字段、函数、表达式、别名

3、order by的位置一般放在查询语句的最后(limit语句除外)

三、常见函数

(一)概述

功能:类似于Java中的方法

好处:提高重用性和隐藏实现细节

调用:select 函数名(实参列表)

(二)单行函数

1、字符函数
/*concat:连接
substr:截取子串
upper:变大写
lower:变小写
replace:替换
length:获取字节长度
trim:去前后空格
lpad:左填充
rpad:右填充
instr:获取子串第一次出现的索引
*/
2、数学函数
/*ceil:向上取整
floor:向下取整
round:四舍五入
mod:取模
truncate:截断
rand:获取随机数,返回0-1之间的小数
*/
3、日期函数
/*now:返回当前日期+时间
year:返回年
month:返回月
day:返回日
date_format:将日期转化为字符
curdate:返回当前日期
str_to_date:将字符转换为日期
curtime:返回当前时间
hour:小时
minute:分钟
second:秒
datediff:返回两个日期相差的天数
monthname:以英文形式返回月
*/
4、其他函数
/*version:当前数据库服务器的版本
database:当前打开的数据库
user:当前用户
password('字符'):返回该字符的密码形式
md5('字符'):返回该字符的md5加密形式
*/
5、流程控制函数
if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2.

case
情况一: case 变量或表达式或字段
		when 常量1 then 值1
		when 常量2 then 值2
		...
		else 值n
		end
		
情况二: case
		when 条件1 then 值1
		when 条件2 then 值2
		...
		else 值n
		end

(三)分组函数

1、分类
max:最大值
min:最小值
sum:和
avg:平均值
count:计算个数
2、特点
1、语法:select max(字段) from 表名;
2、支持的类型:sum和avg一般用于处理数值型,max、min、count可以处理任何数据类型
3、以上分组函数都忽略null值
4、都可以搭配distinct使用,实现去重的统计  select sum(distinct 字段) from 表名;
5、count函数:count(字段):统计该字段非空值的个数
		  count(*):统计结果集的行数
          count(1):统计结果集的行数
效率上:MyISAM存储引擎,count(*)最高
	   InnoDB存储引擎,count(*)和count(1)效率>count(字段)
6、和分组函数一同查询的字段,要求是group by后出现的字段

四、分组查询

(一)语法

select 分组函数,分组后的字段
from 表名
[where 筛选条件]
group by 分组的字段
[having 分组后的筛选条件]
[order by 排序列表]

(二)特点

使用关键字筛选的表位置
分组前筛选where原始表group by的前面
分组后筛选having分组后的结果group by的后面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值