数据库基础查询操作-DQL

数据库基础查询操作-DQL

数据查询语言,不会修改数据内容

基础查询

查询格式:SELECT 列名 FROM 表名;
SELECT * FROM 表名;            # 查询所有列,如果数据库比较大,不建议查询所有列数据
SELECT  编号,姓名,直接上级 from user;   # 查询指定列
SELECT '编号','姓名','直接上级' FROM 表名 WHERE '编号'<20; # 查询指定列指定条件

重复记录去除重复行

SELECT DISTINCT 直接上级 FROM use  WHERE '编号'<20;   # 使用DISTINCT
SELECT * ,编号+1 FROM user;   # 可以对查询条件进行计算或者赋值,无法计算的当成0计算

查询字符串连接

mysql不能使用加号进行连接
使用CONCAT(字符串1,字符串2....)
SELECT CONCAT('用户名是: ',user) '用户名' FROM kl_pwd;# 使用字符串+列拼接的方式查询结果

查询结果设置别名

SELECT CONCAT(编号 ,' ',联系方式) AS info FROM user; # 设置字符串连接列名为info
SELECT CONCAT(编号 ,' ',联系方式)  info FROM user;   # AS可以省略

WHERE子句

WHERE子句可以很灵活地结合使用。

基本的查询语句模式:
SELECT 列名
FROM 表名
WHERE 条件子句

SELECT *
FRPM user
WHERE id>20;

模糊查询:

使用like关键字进行模糊查询,配合条件控制匹配。

SELECT * FROM user WHERE 姓名 like '肖_';   # 下划线代表任意字符,可以多个下划线
SELECT * FROM user WHERE 姓名 LIKE '%芳';   # %匹配0-n个字符,查询以芳结尾的名字
SELECT * FROM user WHERE 姓名 LIKE '%芳%';  # 查询名字中任意带有芳字的记录

查询排序

对查询结果进行排序,使用ORDER BY关键字进行排序。

  • ASC 升序
  • DESC 降序

第一列排序相同时使用第二列,可以指定多个排序列字段

SELECT * FROM user ORDER BY 级别 DESC;             # 查询所有列,按照级别降序排序
SELECT * FROM user ORDER BY 级别 DESC,编号 ASC;    # 按照级别进行降序排序,级别相同的安装编号升序排序

聚合函数

对集合进行计算统计等操作。
计算人数或者集合

函数 功能作用
COUNT( ) 计数
SUM( ) 合计
MAX( ) 统计最大值
MIN( ) 统计最小的数值
AVG( ) 计算平均值
SELECT COUNT(*) FROM user;               # 查询user表总共多少行
SELECT SUM(级别) AS 总计人数 FROM user WHERE 级别=80;
SELECT COUNT(*) 人数,SUM(级别) 合计,MAX(级别) 最大值 FROM user;

分组查询

使用GROUP BY关键字进行分组查询,只能查询组信息

SELECT branch,COUNT(*) FROM kl_pwd GROUP BY branch;
# 选择一列进行分组,加上对分组进行的操作如:统计、合计、平均、最大小值。
SELECT 部门,COUNT(*) FROM user GROUP BY 部门;
SELECT 部门,COUNT(*) FROM user WHERE 条件1 GROUP BY 部门;
SELECT 部门,COUNT(*) FROM user WHERE 条件1 GROUP BY 部门 having 条件2;
# 用聚合函数做条件,WHERE判断前条件,HAVING判断后的条件。

LIMIT子句方言

只能在mysql中能使用的关键字或语句

格式为:LIMIT 开始行,查询多少行
LIMIT 0,10                     # 从0行开始查询,查询显示10行记录
LIMIT 20,10                    # 从20行开始查询,查询显示10行记录
# 示例:
SELECT * FROM user ORDER BY 级别 DESC LIMIT 0,10; # 指定一个氛围,从0行开始,查询多少行记录
LIMIT 分页查询:
LIMIT (3-1)*10 ,10 == LIMIT 20,10
posted @ 2021-09-13 10:40  骑着蜗牛路过你的风景  阅读(281)  评论(0)    收藏  举报