[数据库] 数据库查询语句-详细篇

114 0
Honkers 2025-8-20 15:28:28 来自手机 | 显示全部楼层 |阅读模式

今天来梳理一下数据库的一些查询语句,做软件/移动端/电脑端,开发程序时必然离不开数据库的设计以及查询;

一:具体的代码如下展示:

1.查询数据库指定表的所有信息
  1. select * from uploadimagecode;
复制代码

2.查询当前数据表部分字段的信息(如:只查此表的name,picturepath)
  1. select name, picturepath from uploadimagecode;
复制代码
3.通过指定字符的值查询数据表的数据列表,同时符合两条规则才行
  1. SELECT * FROM uploadimagecode WHERE id=66 and name= 'me.png'
复制代码
4.通过字符段查询符合name为‘me.png’,但不是id=66的列
  1. SELECT * FROM uploadimagecode WHERE not id=66 AND name='me.png'
  2. //查询id不为66的所有列
  3. SELECT * FROM `uploadimagecode` WHERE id !=66
复制代码

5.模糊查询条件,根据指定的字符位置进行查询

[%me% 中间,%me末尾,me%前面开端]

  1. SELECT * FROM uploadimagecode WHERE name like 'me%'
复制代码
6.连续性查询,如价格5-66的数据表,ID为5-66的数据表

  1. SELECT * FROM uploadimagecode WHERE id BETWEEN 5 and 66;
  2. SELECT * FROM `uploadimagecode` WHERE `id`>=5 AND `id`<=66;
复制代码
7.降序的排列数据表信息

– 查询所有商品信息, 按照价格从⼤到⼩排序, 价格相同时, 按照数量少到多排序
– select * from 表名 order by 列1 asc|desc,列2 asc|desc,…
– 说明: order by 排序, asc : 升序, desc : 降序

  1. SELECT * FROM uploadimagecode ORDER BY id desc
复制代码
  1. SELECT * FROM uploadimagecode ORDER BY id asc
复制代码
8.查询数据库表格的总记录数
  1. //统计数据总数, 建议使⽤*, 如果使⽤某⼀特定字段, 可能会造成数据
  2. 总数错误!
  3. SELECT count(*) from uploadimagecode;
  4. select count(name) from uploadimagecode;
  5. -- 最⾼商品价格: max(字段): 查询最⼤值
  6. select max(id) from uploadimagecode;
  7. -- 最低商品价格: min(字段): 查询最⼩值
  8. select min(id) from uploadimagecode;
  9. -- 商品平均价格: avg(字段): 求平均值
  10. select avg(id) from uploadimagecode;
  11. -- ⼀次性⼝罩的总数量: sum(): 求和
  12. -- 注意: 此处的 count 是数据表中字段名!
  13. select sum(id) from uploadimagecode where name like 'me%';
  14. //同时,也可以一起使用聚合函数
  15. SELECT COUNT(*),MAX(id),MIN(id),AVG(id) from uploadimagecode
复制代码
9.分页查询数据信息
  1. // 获取前 5 条数据
  2. select * from uploadimagecode limit 0, 5;
  3. // 注意: 如果默认从第⼀条数据开始获取, 则 0 可以省略!
  4. select * from uploadimagecode limit 5;
  5. //需求:
  6. select * from uploadimagecode limit 4, 6;
  7. // 扩展 1: 根据公式计算显示某⻚的数据
  8. // 已知:每⻚显示m条数据,求:显示第n⻚的数据
  9. // select * from 表名 limit (n-1)*m, m
  10. // 示例: 每⻚显示 4 条数据, 求展示第 2 ⻚的数据内容
  11. select * from uploadimagecode limit 0, 4; -- 第1⻚(有数据)
  12. select * from uploadimagecode limit 4, 4; -- 第2⻚(有数据)
  13. select * from uploadimagecode limit 8, 4; -- 第3⻚(有数据)
  14. select * from uploadimagecode limit 12, 4; -- 第4⻚(⼀共 12 条数据, 每⻚显示
  15. 4 条, 没有第 4 ⻚数据)
  16. // 扩展 2: 分⻚的其他应⽤
  17. // 需求: 要求查询商品价格最贵的数据信息
  18. select * from uploadimagecode order by price desc limit 1;
  19. // 进阶需求: 要求查询商品价格最贵的前三条数据信息
  20. select * from uploadimagecode order by price desc limit 3;
  21. //变量查询N条数据
  22. var a_date = 10
  23. select * from uploadimagecode limit 0,$a_date;
复制代码

10.当数据表信息字段比较复杂时,可以起别名
  1. SELECT id '学号ID' , name '名称' FROM uploadimagecode
复制代码

11.去重
  1. SELECT DISTINCT name FROM uploadimagecode
复制代码
12.分组通过group by子句实现,例按照名称分组,在列表中有多少组
  1. SELECT name,COUNT(*)FROM uploadimagecode GROUP BY name
复制代码

二.表的连接

表的连接三种:内连接,左连接,右连接;其次还有全外连接,交叉连接;

1.内连接:
连接语句:inner join;
关联语句:on;

1.查找属于某个集合的记录用:in

  1. SELECT * FROM sevlatjson WHERE usersex in('nan','NV')
复制代码

2.字符串匹配:like

  1. SELECT * FROM sevlatjson WHERE username like '%y%'
复制代码

3.查找ID小于25的名称:having

  1. SELECT name FROM uploadimagecode GROUP BY name HAVING AVG(id)<25
复制代码

4.联结:union(连接两个表的字段数据,并且去重)

  1. SELECT id FROM uploadimagecode UNION SELECT userid FROM sevlatjson
复制代码

5.当前日期

  1. //获取到当前的年-月-日
  2. SELECT DATE_FORMAT(NOW(),'%Y-%m-%d')as userphone FROM sevlatjson
  3. //仅仅获取年份
  4. SELECT DATE_FORMAT(userphone,'%Y') AS userphone FROM sevlatjson;
  5. //查询三月完成的数据
  6. //如果是三月之前,则日期格式用<号
  7. //如果是三月之后的数据,则日期格式用>=号
  8. //如果是只查某一年份的数据,就('%Y')只要Y的数据并且=“年份”
  9. SELECT id,finish_day FROM project WHERE DATE_FORMAT(finish_day,'%Y-%m') = "2022-03";
复制代码

6.查询语句OR语句

  1. //查询工资为800或3000或5000
  2. SELECT * FROM emp WHERE sal=800 OR sal=3000 OR sal=5000;
  3. //查询姓名为四个字的员工 通配符 模糊查询
  4. SELECT * FROM emp WHERE ename LIKE '____';
复制代码

7.条件case分支

  1. //注:如果username条件相同时,则按照第一个显示返回;
  2. SELECT username,(CASE WHEN username='yuanyi'THEN'111' WHEN username='yuan'THEN'222' ELSE'333'END)AS'haoma'FROM sevlatjson
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行