DQL(data query language)语言的学习-单行函数

DQL语言的学习

基础查询

  • 语法:select 查询列表 from 表名;
    Notes:
    1、查询列表可以是:表中的字段、常量值、表达式、函数
    2、查询结果为虚拟表
    3、写语句之前,使用 use 数据库;
    4、字段与关键字重时,用着重号(数字1左边)
    5、执行命令时需选中

  • 为字段取别名:①as;②空格+别名
    Note:
    别名中有特殊符号,则加双引号

  • 去重:select distinct 字段 from 表名;

  • MySQL中的+号:只充当运算符

  • 拼接函数concat():concat(字段,‘,’,字段)as 别名 from 表名;
    Notes:
    ①函数中的字段出现NULL,则结果为NULL
    ②NULL的解决办法:引入函数IFNULL(字段,要显示的值);
    ③ISNULL()函数:null返回1,不是null返回0

条件查询

  • 语法:select 查询列表 from 表名 where 筛选条件;

  • 分类
    ①条件表达式:> < = <> <= >=
    ②逻辑表达式:&& || !(and or not)
    ③模糊查询:like、between and、in、is null

  • 通配符
    ①%:任意个字符
    ②_:单个字符
    ③\:转译

eg:like '_$_%' escape '$'表示$是转译字符

1、between A and B
①简洁化
②包含临界值(A、B)
③A<=B
2、in()
①判别某字段的值是否属于in列表中的某一项
②简洁化
③括号中的值为同一类型或兼容
④不支持通配符
3、is null
①等号或不等号不可用于判断null值
4、安全等于<=>
①用于判断null值
where xx <=> null;
②用于普通数值
where xx <=> 12000;

排序查询

  • 语法:order by 排序列表(asc/desc)

  • 特点:
    ①asc:升序(默认);desc:降序
    ②支持单个、多个字段、表达式、函数、别名
    ③order by 子句放最后(limit子句除外)

  • length函数:字符长度
    Note
    1.多个字段排序,以逗号连接
    2.按表达式排序,支持别名

常见函数

  • 优点:
    ①隐藏实现细节
    ②提高代码的重用性
  • 调用:select 函数名(实参列表)【from 表】
  • 特点:①函数名;②函数功能
  • 分类:
    1、单行函数:CONCAT() LENGTH() IFNULL()
    2、分组函数
    功能:做统计,也称为统计函数、聚合函数、组函数

字符函数

  • Length():字节数(英文:1个字节;中文:3个字节)
    补充:show variable like ‘%char’
    ①utf8:汉字占3个字节
    ②gbk:汉字占2个字节
  • concat():拼接字符串
  • upper():小写变大写
  • lower():大写变小写
  • substr():
    ①substr(‘字符’,number):表示截取从number开始的剩下的字符
    ②substr(‘字符’,number1,number2):表示截取从number1开始的number2个字符
  • instr():返回索引
    instr(a,b):表示b在a中的起始索引(第一次出现),若找不到,则返回0
  • trim():去除字符串前后的值
    eg:trim(‘a’ from ‘aabaa’) 输出:b
  • lpad():用指定的字符实现左填充指定长度
    eg:lpad(‘bbb’,5,‘a’) 输出:aabbb
  • rpad():用指定的字符实现右填充指定长度
  • replace():替换

数学函数

  • round():四舍五入
    eg:round(1.567,2) 小数点后保留2位
    eg:round(1.55)默认取整
  • ceil():向上取整,返回>=改参数的最小整数
  • floor():向下取整
  • truncate():截断
    eg:truncate(1.6999,1) 小数点后保留1位
  • mod():取余
    eg:mod(a,b) a-a/b*b 与被除数的正负相关

日期函数

  • now():返回当前日期+时间
  • curdate():返回当前系统日期,不包含时间
  • curtime():返回当前时间,不包含日期
  • year() month() monthname():获取指定的部分
  • str_to_date:将日期格式的字符转换成指定格式的日期
  • data_format:将日期转换成字符
  • datediff(日期1,日期2):日期1与日期2的相差天数
    |符号|释义 |
    |-------|----------------|
    | %Y | 四位的年份 |
    | %y | 两位的年份 |
    | %m | 月份(01、02…)|
    | %c | 月份(1、2…) |
    | %d | 日(01、02…) |
    | %H | 小时(24小时制) |
    | %h | 小时(12小时制) |
    | %i | 分钟 |
    | %s | 秒 |

其他函数

  • version():查看版本
  • database():数据库
  • user():用户

流程控制函数

  • if函数:if else的效果
    eg:if(10>5,‘大’,‘小’)
  • case函数
    ①switch case的效果(等值判断)
    case用法
    补充:else可以省略
    case案例
    ②类似于多重if的效果(if else if)
    在这里插入图片描述
    案例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值