数据库
首页 > 数据库> > mysql 常用语法、函数、查询(未完成)

mysql 常用语法、函数、查询(未完成)

作者:互联网

一、排序查询

-- asc:升序 默认不写升序
-- desc:降序
-- 排序列数 支持单个字段、多个字段、函数、表达式、别名
-- order by 的位置一般在查询语句的最后(除limit语句之外)
select 查询列表  from where 筛选条件 order by 排序列表 【asc|desc];

二、常见函数
功能:类是java中方法
好处:提高重用性和吟唱细节
调用:select 函数名(实参列表);
2.1单行函数
2.1.1字符函数
concat:连接
substr:截取字串
upper:变大写
lover:变小写
replace:替换
length:获取字节长度
lpad:左填充
rpad:右填充
instr:获取字符串第一次出现的索引

2.1.2数学函数
ceil:向上取整
round:四舍五入
mod:取模
floor:向下取整
truncate:截断
rand:获取随机数,返回0~1之间

2.1.3日期函数
now:返回当前日期+时间
year:返回年
month:返回月
day:返回日
date_format:将日期转换成字符
curdate:返回当前日期
str_to_date:将字符转换成日期
curtime:返回当前时间
hour:小时
second:分钟
datediff:返回两个日期之间相差的天数
monthname:以英文的形式返回月

2.1.4其他函数
version:当前数据库服务器的版本
database :打开当前的数据库
user:当前用户
password(‘字符’):返回该字符的密码形式
md5(‘字符’):返回该字符的md5加密形式

2.1.5流程控制函数

-- if函数
if(条件表达式,表达式1,表达式2) :如果条件表达式成立,返回表达式1,否则返回表达式2

-- case  (变量或表达式或字段)
case 变量或表达式或字段
when 常量1 then 值1
when 常量2 then 指2
...
else 值n
end;

-- case (区间条件判断)
case 
when 条件1 then 值1
when 条件2 then 指2
...
else 值n
end;

3.1分组函数
3.1.1分类
max 最大值
min 最小值
sum 和
avg 平均数
count 计算个数
3.1.2语法

select 函数名(字段名)from 表名;

3.1.3支持的类型
sum和avg一般处理数值型
max,min,count可以处理任何数据类型
分组函数都忽略null
3.1.4都可以搭配distinct使用,实现去重的统计
3.1.5count函数
count(字段):统计该字段非空值的个数
count(*): 统计结果集的行数
3.1.6和分组函数一同查询的字段,必须是group by后出现的字段

四、分组查询
4.1语法

-- 执行顺序 1表,2where条件,3group by分组,4having
select 分组函数,分组后的字段
from 表
【where 筛选条件】
group by 分组的字段
【having 分组后的筛选】
【order by 排序列表】;

五、连接查询(SQL92:分为等值连接、非等值连接、自连接)
5.1等值连接
5.1.1语法:

-- 一般为表起别名
-- 多表的顺序可以调换
-- n表连接需要n-1个连接条件
-- 等值连接的结果是多表的交集

select 查询列表
from 表1 别名1,表2 别名2
where 表1.key=表2.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】;

5.2非等值连接
5.2.1语法:

-- where 后面的连接条件为非等值连接条件,如<>不等于
select 查询列表
from 表1 别名1,表2 别名2
where 表1.key【非等值的连接】表2.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】;

5.3非等值连接
5.3.1语法:

-- where 后面的连接条件为等值连接条件
select 查询列表
from 表1 别名1,表1 别名2
where 别名1.key=别名2.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选】
【order by 排序字段】;

六、连接查询(SQL99:分为内连接(等值连接、非等值连接、自连接)、外连接、交叉连接)

标签:函数,--,别名,查询,语法,分组,mysql,连接,等值
来源: https://blog.csdn.net/qq_41353397/article/details/116858966