欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

5 mySQL(DQL数据查询:select)

程序员文章站 2022-07-07 20:12:40
from join onwheregroup byhavingselect distinct ⭐️order bylimit(一)合并处理,对象的值:分组函数计算表内非空总行数方式函数名代码方式1(推荐)计算表内非空总行数select count(*) from 表方式2(不推荐)计算表内非空总行数select count(“常量”) from 表(二)单条处理,对象的值:(普通字段,系统函数,自定义函数)普通字段selec.....

5 mySQL(DQL数据查询:select)

from join on
where
group by
having
select distinct ⭐️
order by
limit

(一)合并处理,对象的值:分组函数

计算表内非空总行数

方式 函数名 代码
方式1(推荐) 计算表内非空总行数 select count(*) from 表
方式2(不推荐) 计算表内非空总行数 select count(“常量”) from 表

(二)单条处理,对象的值:(普通字段,系统函数,自定义函数)

普通字段

select 代码
常量 100,跟日期一样,占一位
单个字段 select 字段
多个字段 select 字段,字段
全部字段 select *

自定义函数:mysql高级讲,应该很有用对字段统一处理,后期看
系统函数

  1. sql中的函数都有返回值
  2. 参数与返回值一对一的
  3. sql索引从1开始
  4. sql语句中,加号➕只做加法运算,没有拼接的概念
  5. null+数字=null,字符型+数字=0+数字,null+任何=null

(1)字符函数

名称 代码 返回值 解释
拼接字符 concat(字符1,字符2,字段1,字段2) 字符1字符2字段1字段2 数据拼接在了一起
转化null if null(可能是null的字段,“自定义字”) 参数2 如果参数1为null,则转化为参数2
获取字节长度 lenght(字段/字符) 字节个数 一个汉字3个字节
获取字符长度 char_lenght(字段/字符) 字符个数 一个汉字1个字符
截取字符串 substr(字段/字符,截取的开始的索引,截取的长度) 截取的字符串
从左侧截取字符串 left(字段/字符,截取的长度) 截取的字符串
从右侧截取字符串 right(字段/字符,截取的长度) 截取的字符串
获取字符第一次出现的索引 instr(字段1/字符串1,字段2/字符串2) 1里面包含2的第一次索引
去前后空格 trim(字符/字段) 没有前后空格的字符/字段
去除字段最前,最后的指定字符 trim(“指定字符” from 字符/字段) 没有前后特殊字段的字符/字段
从左开始填充字符 lpad(字符/字段,要占满的字符长度,填充内容) xxxxxx字段 主要看要求的字符长度,如果写个1会把字段隐藏一部分
从右开始填充字符 rpad(字符/字段,要占满的字符长度,填充内容) 字段xxxxxx 主要看要求的字符长度,如果写个1会把字段隐藏一部分
将字母变成大写 upper(字符/字段) 大写内容
将字母变成小写 lower(字符/字段) 小写内容
比较两个字符大小 strcmp(字符1,字符2) 字符1大:1,字符1小:-1,相等:0 26个英文字母,b的字符比a大

(2)数学函数

名称 代码 返回值 解释
字段直接运算 select 100%3; 每个对象的值%3
绝对值 ABS(字段/数字) 正数
向上取整数 cell(字段/数字) 整数
向下取整数 floor(字段/数字) 整数
四舍五入 round(字段/数字,2) 小数 四舍五入,参数2的2是保留两位小数的意思
截断 truncate(字段/数字,2) 小数 截断小数点后位数
取余 mod(数字1,数字2) 余数 = 数字1%数字2

(2)日期+时间 函数 :

名称 代码 返回值 解释
获取当前日期+时间 now(空) 当前的日期+时间 跟常量一样占一位
获取当前日期 curdate() 当前的日期
获取当前时间 curtime() 当前的时间
计算两个日期之间的天数 datediff(1998-01-02”,1998-02-02”) 日期1-日期2的天数
日期转化成自定义格式字符串 date_format(“2020-01-02”,“%y年%m月%d日%h小时”%i分钟%s秒) 转换后的格式 需要前后对应一致
自定义格式字符串转化成日期 str_to_date(自定义格式,%m/%d %y “2020-01-02” 参数2与参数1对应的,连空格都需要保持一致的格式
将日期中的年提取出来 year(字段)
将日期中的月提取出来 month(字段)

(三)更改处理,对象的值:流程控制

if结构:判断true/false

//判断字段1是true,对象值输出固定值1/固定值2
if(字段1>"2",固定值1,固定值2

多重if-else结构:sql语句中没有if-else,用case,when替代

//判断多重条件,输出结果
case 
when 条件1 then 结果1
when 条件2 then 结果2
...
else 结果n
end

case结构:等值判断,例如switch case

//判断多重条件,输出结果
case 字段x
when x的值1 then 结果1
when x的值2 then 结果2
...
else 结果n
end

(四)去重数据,和上面所有内容都可配合

select distincy 字段  from 表名;

本文地址:https://blog.csdn.net/lzyPM/article/details/107162457