• 使用DQL命令查询数据


    DQL(Data Query Language,数据查询语言)

            查询数据库数据,如SELECT语句

            简单的单表查询或多表的复杂查询和嵌套查询

            数据库语言中最核心、最重要的语句

            使用频率最高的语句

    指定查询字段

    询表中所有的数据列结果,采用" * "符号

            select   *   from student;

    可指定查询的结果数据列

    如只查询student表中的学号、姓名、电话

            SELECT  StudentNo, StudentName, Phone  FROM  student;

    如区分连接查询时两个表有同名的字段

            SELECT studentStudentNo , StudentName, StudentResult  FROM  student, result ;

    AS子句

    AS子句作用

            可给数据列取一个新别名

            可给表取一个新别名

            可把经计算或总结的结果用另外一个新名称来代替

    AS子句用法(AS 也可省略不写)

            SELECT   StudentNo   AS “学号”   FROM   student;

            SELECT   a.StudentNo   FROM   student AS  a;

            SELECT   Phone+1  AS  Tel    FROM   student;

    DISTINCT关键字的使用

    作用 :去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同),只返回一条

    语法:SELECT     DISTINCT   字段名1, 字段名2...     FROM   表名

    表达式一般由文本值、列值、NULL、函数和操作符等组成

    应用场景

            SELECT语句返回结果列中使用

            SELECT语句的ORDER  BY、HAVING等子句中使用

            DML语句中的where条件语句中使用表达式

    where条件语句

            用于检索数据表中符合条件的记录

            搜索条件可由一个或多个逻辑表达式组成,结果一般为真或假

            搜索条件的组成

                    逻辑操作符

                    比较操作符

    逻辑操作符

    操作符名称

    语法

    描述

    AND或&& 

    a AND b 或 a && b

    逻辑与,同时为真,结果才为真

    OR或||

    a OR b 或 a||b

    逻辑或,只要一个为真,则结果为真

    NOT或!

    NOT a 或 !a

    逻辑非,若操作数为假,结果则为真

    比较操作符

    操作符名称

    语法

    描述

    IS NULL

    a IS NULL

    若操作符为NULL,则结果为真

    IS NOT NULL

    a IS NOT NULL

    若操作符不为NULL,则结果为真

    BETWEEN

    a BETWEEN b AND c

    若a范围在b与c之间则结果为真

    LIKE

    a LIKE b

    SQL模式匹配,若a匹配b,则结果为真

    IN

    a IN (a1,a2,a3,….)

    若a等于a1,a2…中的某一个,则结果为真

    BETWEEN AND范围查询

    根据一个范围值来检索

            SELECT  字段列1,字段2 ,…FROM 表名 WHERE   字段x  BETWEEN  值1 AND  值2  

    等同于 >= 和 <= 联合使用

    LIKE模糊查询

    在WHERE子句中,使用LIKE关键字进行模糊查询

            与“%”一起使用,表示匹配0或任意多个字符

            与“_”一起使用,表示匹配单个字符

    使用IN进行范围查询

    在WHERE子句中使用IN进行范围查询

            SELECT  字段列1,字段2 ,…FROM 表名 WHERE   字段x  IN  ( 值1,值2,值3…)

    查询的字段x的值,至少与括号中的一个值相同

    多个值之间用英文逗号隔开

    连接查询(多表查询)

            如需要多张数据表的数据进行查询,则可通过连接运算符实现多个查询

    分类包括

            内连接 ( inner  join)

                    等值和非等值的连接查询

                    自身连接查询

            外连接 ( out   join )

                    左连接(LEFT   JOIN)

                    右连接  ( RIGHT  JOIN)

    INNER JOIN内连接 :在表中至少一个匹配时,则返回记录

    语法:

            SELECT   字段1,字段2,…  FROM  table_1

            INNER  JOIN   table_2    ON  table_1.字段x   =  table_2.字段y;

            #  INNER JOIN  与 JOIN 是相同的;

            #  如table_1中的行在table_2中没有匹配,则不返回;

    等值和非等值的连接查询

            与单表查询类似,都是SELECT语句

            把多个表放到FROM后,并用逗号隔开

            可使用AS关键字取别名,便于引用

            如无重名查询字段则可省略数据表的指定

    外连接

    左外连接(LEFT JOIN) 从左表(table_1)中返回所有的记录,即便在右(table_2)中没有匹配的行

    语法: SELECT   字段1,字段2,… FROM table_1 LEFT  [ OUTER ]   JOIN   table_2    ON  table_1.字段x   =  table_2.字段y;

    右外连接(RIGHT JOIN) 从右表(table_2)中返回所有的记录,即便在左(table_1)中没有匹配的行

    语法:SELECT   字段1,字段2,… FROM table_1 RIGHT  [ OUTER ]   JOIN   table_2    ON  table_1.字段x   =  table_2.字段y;

    自连接查询:数据表与自身进行连接

    ORDER BY排序

            对SELECT语句查询得到的结果,按某些字段进行排序

            与DESC或ASC搭配使用,默认为ASC

    MySQL的LIMIT(分页查询)

            LIMIT [m,]n  或  LIMIT  n  OFFSET  m

                    限制SELECT返回结果的行数 m

                    制定第一个返回记录行的偏移量 n

                    制定返回记录行的最大数目

    子查询

            在查询语句中的WHERE条件子句中,又嵌套了另外一个查询语句

    注意:嵌套查询可由多个子查询组成,求解的方式是由里及外 子查询返回的结果一般都是集合,故而建议使用 IN 关键字

    MySQL的统计函数

    函数名称

    描述

    COUNT( )

    返回满足SELECT条件的记录总和数,如 SELECT COUNT(*)…

    SUM( )

    返回数字字段或表达式列作统计,返回一列的总和

    AVG( )

    通常为数值字段或表达列作统计,返回一列的平均值

    MAX( )

    可以为数值字段、字符字段或表达式列作统计,返回最大的值

    MIN( )

    可以为数值字段、字符字段或表达式列作统计,返回最小的值

    GROUP BY分组

    使用GROUP BY关键字对查询结果分组

            对所有的数据进行分组统计

            分组的依据字段可以有多个,并依次分组

            与HAVING结合使用,进行分组后的数据筛选

  • 相关阅读:
    “零”代码改动,静态编译让太乙Stable Diffusion推理速度翻倍
    DOM- 网页特效篇
    【QT+QGIS跨平台编译】之五十四:【QGIS_CORE跨平台编译】—【qgssqlstatementlexer.cpp生成】
    运算放大器学习笔记
    【题解】P8817 [CSP-S 2022] 假期计划(bfs,dfs)
    React - redux 使用(由浅入深)
    数据结构 | 单链表SingleList【带你从浅入深真正搞懂链表】
    【Bug】【内存相关】偶然发现一个内存溢出Bug复盘
    数据结构与算法(持续更新)
    31.6.2 搭建MySQL多源复制环境
  • 原文地址:https://blog.csdn.net/qq_69761234/article/details/125981088