数据库基础查询操作-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
    点点滴滴,积少成多,终有一日能发挥用处。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号