MySql_3_DQL条件查询+排序查询+常见单行函数

条件查询

  1. 语法:

     	 select ②
     				查询列表
     	  from	①
     	  			表名
     	  where ③
     	  			 筛选条件;//根据条件,判断数据是否能够留下来
    
  2. 分类

    1. 按条件表达式筛选

       	条件运算符:>,<,=,<>,>=,<=
      
    2. 按逻辑表达式筛选

       	逻辑运算符:and,or,not
       		注意:逻辑运算符其实并不能单独的作为判断条件使用,换句话说,它必须与条件表达式配合使用,用来连接条件表达式
      
    3. 模糊查询 #其实这也算是条件表达式,只是更加高级

       	like
       			特点:一般和通配符搭配使用
       					通配符:
       							%: 任意多个字符,包含0个字符
       							_:	 任意单个字符
       	between and
       	in
       	is null/is not null
       	<=>: 安全等于
       			注意:
       					1. =,<>判断数值,判断字符,但不能判断null,
       					2. <=>不仅可以用来判断数值,可以用来判断是否为null,但可读性比较差,
       					3. 使用 is null或 is not null来判断null,但 is 不能用来判断数值
      
    4. 判断工号为176的员工的姓名,部门号和年薪

       	select last_name, department_id, salary*12(1 + ifnull (commission_pect,0)) as 年薪 from employees where department_id=176;
      

排序查询

  1. 语法

     select  
     		查询列表
     from 
     		表
     where
     		筛选条件
     order by
     		排序列表
     		asc | desc;#默认为升序
    

常见函数

  1. 概念:类似于java方法,将一组逻辑语句封装在方法体中,对外暴露方法名

  2. 优点:

     1. 封装性,隐藏实现细节
     2. 提高代码的重用性
    
  3. 调用:目前都是使用现成的,后面会学到自定义函数

     		select 函数名(实参列表) 【from 表】
    
  4. 分类:

     1. 单行函数,如concat,length,ifnull等,传入一个值,输出一个值
     2. 分组函数,统计使用,传入一组值,输出一个值
    
字符函数
  1. length #获取参数值的字节个数

     select length('john');
     select length('奥术大师ads');#一个中文字符占用三个字节
    
  2. concat #拼接字符

     select concat(last_name,' ',first_name) as 姓名 from employees;
    
  3. upper, lower # 大小写变化

     select upper('qweqwe');
     select lower('DSASDwqq') ;
    
  4. substr, substring #字符截取,

     1. 索引从1开始,from index1 to index2,
     		1. 如果只取一个,则index1=index2;
     		2. 如果取到最后,则idnex2不用写
     2. select substr('天不生我李淳罡',5,7) as output;
     3. select substr('天不生我李淳罡',5) as output; #这个7没必要写
    
  5. instr #返回子串第一次出现的索引,若无,返回0;否则返回第一个字符的索引

     select instr('独孤求败','求') as ouput;
    
  6. trim #去掉首尾的特定字符,默认去掉空格

     select length(trim('     风天养  ')) as output;
     select trim('aa' from 'aaaaaaaaa张 天 师  aaa');
    
  7. lapd #指定字符左填充

     1. 需指定填充后的字符数(注意这里的都是字符),以及填充内容
     2. 若是填充内容无法完全填入,则选取满足字符数要求的前 n 个字符填充
     3. 若是被填充内容本身字符数就大于给定字符数要求,则按字符数要求取出前 n 个字符作为结果
     3. select lpad('乾坤大挪移',10,'哈哈') as output;# 哈哈哈哈哈乾坤大挪移
    
  8. rpad #指定字符右填充

  9. replace #替换

    select replace('此剑抚平天下不平事','剑','sword') ;
    

数学函数

  1. round #四舍五入

     1. 先看绝对值的四舍五入,再看符号
     2. select  round(-1.6);# -2
    
  2. ceil #向上取整

     1. 返回>=该值的最小整数
     2. select ceil(-1.6);# -1
    
  3. floor #向下取整

     1. 返回<=该值的最大整数
     2. select floor(-1.6);# -2
    
  4. truncate #截断

     1. 保留小数点后几位数字,而不是保留整体几位有效数字,也不会四舍五入
     2. select truncate(1.23443,2); # 1.23
    
  5. mod #取余

     1. select mod(-10,3); #-1
     2. select mod(-10,-3); #-1
     3. select mod(10,-3); #1
    

日期函数

  1. now #返回当前系统时间

     select now(); #2020-10-22 15:36:27
    
  2. curdate #返回当前日期,不包含时间

     select curdate(); #15:36:40
    
  3. curtime #返回当前时间,不包含日期

     select curtime(); #2020-10-22
    
  4. 自定义获取指定的部分,年、月、日、小时、分钟、秒

     select year(now()); #2020
     select year('1998-01-22'); #1998
     select month(now()); #10
     select monthname(now()); #October
    

其他函数

1. select version();
2. select database(); #查看当前数据库
3. select user(); #查看当前用户,root@localhost

流程控制函数

  1. if函数:if else 效果,类似三目运算符

     select if(10<5,'大',‘小’);
    
  2. case:1 #类似switch

     case + 要判断的字段或表达式
     when + 常量1 + then + 要显示的值1或语句1
     when + 常量2 + then + 要显示的值2或语句2
     ...
     else + 要显示的值3或语句3
     end   [as sth]
    
  3. case :2 #类似if,与case1的区别在于,case1常用来作值判断,而case2用来作区间判断

     case 
     when  + 语句1 then + 要显示的值1或语句1
     when  + 语句2 then + 要显示的值2或语句2
     ...
     else + 要显示的值3或语句3
     end  [as sth]
    
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值