• DQL查询数据(最重点)


    基本的select和别名使用

    DQL

    (Data Query LANGUAGE:数据查询语言)

    • 所有的查询操作都用它 Select
    • 简单的查询,复杂的查询它都能做~
    • 数据库中最核心的语言,最重要的语句
    • 使用频率最高的语句

    指定查询字段

    例子:

    (1)查询全部的学生  SELECT 字段 FROM 表

    1. -- 查询全部的学生 SELECT 字段 FROM 表
    2. SELECT * FROM t_admin

    输出结果:

     

    (2)查询指定字段

    1. -- 查询指定字段
    2. SELECT `userId`,`userName` FROM t_admin

    输出结果:

     

    (3)别名,给结果起一个名字,AS 可以给字段起别名,也可以给表起别名

    1. -- 别名,给结果起一个名字,AS 可以给字段起别名,也可以给表起别名
    2. SELECT `userId` AS 序号,`userName` AS 管理员姓名 FROM t_admin AS s

    输出结果:

     

    (4)函数 Concat(a,b)

    1. -- 函数 Concat(a,b)
    2. SELECT CONCAT('姓名:',userName) AS 新名字 FROM t_admin

    输出结果:

     

    语法:SELECT字段.......FROM表

    有的时候,列名字不是那么的见名知意。我们起别名 AS 字段名 as 别名 表名 as 别名        

     

    去重及数据库的表达式

    去重 distinct

            作用:去除SELECT查询出来的结果中重复的数据,重复的数据只显示一条

    1. -- 查询一下有哪些同学参加了考试,成绩
    2. SELECT * FROM t_chengji -- 查询全部的考试成绩
    3. SELECT `chengji` FROM t_chengji -- 查询有哪些同学参加了考试
    4. SELECT DISTINCT `chengji` FROM t_chengji -- 发现重复数据,去重

    数据库的列(表达式)

    •         数据库中的表达式:文本值,列,NULL,函数,计算机表达式,系统变量......
    •         select 表达式 from 表
    1. SELECT VERSION() -- 查询系统版本(函数)
    2. SELECT 100*3-1 AS 计算结果 -- 用来计算(表达式)
    3. SELECT @@auto_increment_increment -- 查询自增的步长(变量)
    4. -- 学员考试成绩 +1分查看
    5. SELECT `stu_id`,`chengji`+1 AS '提分后' FROM t_chengji

    where子句之逻辑运算符

    where条件子句

    • 作用:检索数据中符合条件的值
    • 搜索的条件由一个或多个表达式组成!
    • 结果:布尔值

    逻辑运算符

    运算符语法描述
    and &&a and b  a&&b逻辑与,两个都为真,结果为真
    or ||a or b a||b逻辑或,其他一个为真,则结果为真
    Not !nota  !a逻辑非,真为假,假为真!

      尽量使用英文字母

    1. -- ======================== where ==========
    2. SELECT `stu_id`,`chengji` FROM t_chengji
    3. -- 查询考试成绩在 95~100分之间
    4. SELECT `stu_id`,`chengji` FROM t_chengji
    5. WHERE chengji>=70 AND chengji<90
    6. -- and &&
    7. SELECT `stu_id`,`chengji` FROM t_chengji
    8. WHERE chengji>=70 && chengji<90
    9. -- 模糊查询(区间)
    10. SELECT `stu_id`,`chengji` FROM t_chengji
    11. WHERE `chengji` BETWEEN 70 AND 80
    12. -- 除了1号学生之外的同学的成绩
    13. SELECT `stu_id`,`chengji` FROM t_chengji
    14. WHERE `stu_id`!=1;
    15. -- != not
    16. SELECT `stu_id`,`chengji` FROM t_chengji
    17. WHERE NOT `stu_id` = 1

    模糊查询操作符详解

    模糊查询:比较运算符

    运算符语法描述
    IS NULLa is null如果操作符为NULL,结果为真
    IS NOT NULLa is not null如果操作符不为NULL,结果为真
    BETWEENa between b and c若a在b和c之间,则结果为真
    LIKEa like bSQL匹配,如果a匹配b,则结果为真
    INa in (a1,a2,a3......)假设a在a1,或者a2.....其中的某一个值中,结果为真

    代码:

    1. -- ======================== 模糊查询 ==========
    2. -- 查询姓小的同学
    3. -- like结合 %(代表0到任意个字符) _(一个字符)
    4. SELECT `uid`,`uname` FROM `user`
    5. WHERE `uname` LIKE '小%'
    6. -- 查询姓李的同学后面只有一个字的
    7. SELECT `uid`,`uname` FROM `user`
    8. WHERE `uname` LIKE '李_'
    9. -- 查询姓孙的同学后面只有两个字的
    10. SELECT `uid`,`uname` FROM `user`
    11. WHERE `uname` LIKE '孙__'
    12. -- 查询名字中间有荣字的同学
    13. SELECT `uid`,`uname` FROM `user`
    14. WHERE `uname` LIKE '%荣%'
    15. -- ========== in(具体的一个或多个值)=====
    16. -- 查询 1,2,3号学员
    17. SELECT `uid`,`uname` FROM `user`
    18. WHERE `uid` IN(1,2,3);
    19. -- 查询学生邮箱888@qq.com
    20. SELECT `uid`,`uname` FROM `user`
    21. WHERE `uemail` IN('888@qq.com')
    22. -- ========== null not null =====
    23. -- 查询邮件为空的同学 null ''
    24. SELECT `uid`,`uname` FROM `user`
    25. WHERE `uemail`='' OR `uemail` IS NULL
    26. -- 查询邮件不为空的同学
    27. SELECT `uid`,`uname` FROM `user`
    28. WHERE `uemail`='' OR `uemail` IS NOT NULL

  • 相关阅读:
    CSP-J/S 报名全攻略(含考纲)
    vue+elementUI 设置el-descriptions固定长度并对齐
    05. Java多线程机制
    德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第二周) - 多类别分类和神经网络
    excel 指定行数据求和
    Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验
    JMeter之脚本录制
    LD_LIBRARY_PATH 环境变量设置
    【Hyperledger Fabric 学习】安全模型(Key Concepts: Security Model)
    python下用cartopy绘制地形晕染(shading)图
  • 原文地址:https://blog.csdn.net/qq_46423017/article/details/126161528