当前位置:   article > 正文

mysql中的DQL查询_mysql查询命令dql

mysql查询命令dql

表格为:

DQL 基础查询

语法:select   查询列表 from 表名:(查询的结果是一个虚拟表格)

  1. -- 查询指定的列
  2. SELECT NAME,birthday,phone FROM student
  3. -- 查询所有的列 * 所有的列, 查询结果是虚拟的表格,不能操作,是只读的
  4. SELECT * FROM student

查询结果的处理:

  1. -- 查询结果进行算数运算
  2. SELECT NAME,height+1 FROM student
  3. -- 去除重复数据 查询结果中所有的列都相同
  4. -- DISTINCT关键字去除重复数据
  5. SELECT DISTINCT NAME,gender FROM student

函数:

类似于 java 中的方法,将一组逻辑语句事先在数据库中定义好 , 可以直接调
单行函数
  1. -- 单行函数:
  2. -- 分组函数
  3. -- length(列名) 以字节为单位
  4. SELECT NAME,LENGTH(NAME),gender FROM student
  5. -- char_lenghth(列明) 以字符为单位
  6. SELECT NAME,CHAR_LENGTH(NAME),gender FROM student
  7. -- concat()拼接 ;as 重新取名
  8. SELECT CONCAT(NAME,":",CHAR_LENGTH(NAME)) AS NAME,gender FROM student
  9. -- upper英文转大写 ,lower英文转小写
  10. SELECT UPPER(NAME),LOWER(NAME),FROM student
  11. -- stubstring(字符串,开始位置,截取长度)开始位置从一开始
  12. SELECT SUBSTRING(NAME,1,2) FROM student
  13. -- instr(字符串,指定的字符) 返回指定位置首次出现的位置 找不到返回0
  14. SELECT INSTR(NAME,'哈') FROM student
  15. -- trim()默认去除字符串前面的空格,trim(指定子串 from 字符串)可以指定去除前后的子串
  16. SELECT TRIM(NAME),NAME FROM student
  17. -- 左填充 右填充 到指定长度
  18. SELECT LPAD(NAME,5,'a'),RPAD(NAME,5,'b') FROM student
  19. -- replace(列,'old','new')
  20. SELECT REPLACE(NAME,'哈','咕') FROM student

逻辑处理:

  1. SELECT
  2. NAME,
  3. gender,
  4. (CASE WHEN height>=2 THEN'高个子' ELSE '正常升高 'END)
  5. FROM student
  6. SELECT
  7. NAME,
  8. gender,
  9. (CASE WHEN height >=2 THEN 'A'
  10. WHEN height >=1.8 THEN'B'
  11. ELSE 'c' END
  12. )AS height
  13. FROM student
  14. -- ifnull(被检测值,默认值)
  15. SELECT
  16. NAME,
  17. gender,
  18. IFNULL(height,'暂无录入身高信息') AS height
  19. FROM student
  20. -- if(条件,'结果1','结果2')
  21. SELECT
  22. NAME,
  23. gender,
  24. IF(height>=1.9,'高个子','正常')AS height
  25. FROM student

数字函数

  1. -- 数学函数
  2. -- round(数值):四舍五入
  3. -- round(数值):四舍五入
  4. -- ceil(数值):向上取整,返回>=该参数的最小整数
  5. -- floor(数值):向下取整,返回<=该参数的最大整数
  6. -- truncate(数值,保留小数的位数):截断,小数点后截断到几位
  7. -- mod(被除数,除数):取余,被除数为正,则为正;被除数为负,则为负
  8. -- rand():获取随机数,返回0-1之间的小数
  9. SELECT NAME,ROUND(height),CEIL(1.1),FLOOR(1.9) FROM student
  10. SELECT NAME,gender,TRUNCATE(height,1),height,RAND() FROM student

日期函数

  1. -- now() 年月日 时分秒 系统当前时间
  2. -- curdate() 年月日
  3. -- curtime() 时分秒
  4. SELECT NOW(),CURDATE(),CURTIME() FROM student
  5. -- year(日期) 将日期格式化为年
  6. SELECT YEAR(birthday),MONTH(birthday) FROM student
  7. -- STR_TO_DATE('2003-3-','%Y-%m-%d') 将字符串日期 格式化为 日期类型
  8. SELECT STR_TO_DATE('2003-3-','%Y-%m-%d') FROM student
  9. -- DATE_FORMAT(birthday,'%Y-%m')将日期格式化为指定字符串
  10. SELECT DATE_FORMAT(birthday,'%Y-%m') FROM student
  11. -- DATEDIFF(CURDATE(),birthday) 计算两个日期之间的相差的天数
  12. SELECT DATEDIFF(CURDATE(),birthday) FROM student

分组函数 聚合函数 统计函数:

  1. -- sum avg处理数值类型 max,min,count 都可以处理
  2. SELECT SUM(height) FROM student -- 求和
  3. SELECT AVG(height) FROM student -- 平均值
  4. SELECT MAX(height) FROM student -- 最大值
  5. SELECT MIN(height) FROM student -- 最小值
  6. SELECT COUNT(*) FROM student -- 统计个数
  7. -- 条件查询
  8. -- select * from 表名 where 条件
  9. -- and 并且
  10. SELECT * FROM student WHERE gender ='男' AND height>1.80
  11. -- or 一个或多个条件满足即可
  12. SELECT * FROM student WHERE gender != '男'
  13. SELECT * FROM student WHERE gender <> '男'
  14. -- lick 模糊匹配
  15. SELECT* FROM student WHERE NAME licke'咕%'
  16. -- between and
  17. SELECT * FROM student WHERE height BETWEEN 1.89 AND 2.00
  18. -- in not in
  19. SELECT * FROM student WHERE height IN (1.88,1.98)
  20. SELECT * FROM student WHERE height NOT IN(1.88)
  21. SELECT *FROM student WHERE height NOT NULL
  22. SELECT * FROM student WHERE height NULL
  23. -- union 将多个查询结果合并,合并时,列数必须一直,去除重复数据
  24. -- union all 合并不会去除重复数据
  25. -- 排序 order by 列 asc(升序) desc(降序)
  26. SELECT * FROM student ORDER BY number DESC
  27. SELECT * FROM student ORDER BY height ASC
  28. SELECT * FROM student ORDER BY number DESC , height DESC
  29. -- 数量限制 limit0开始,显示n个信息
  30. SELECT * FROM student LIMIT 0,1
  31. -- 统计男生女生个有多少人
  32. SELECT COUNT (*),gender FROM student GROUP BY gender HAVING COUNT(*)>2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/701153
推荐阅读
相关标签
  

闽ICP备14008679号