• 单表查询


    查询数据表中指定字段的内容
    select 字段名1, 字段名2 from 表名; 
    
    查询数据表中的所有内容
    SELECT * FROM 表名;
    
    带 IN 关键字的查询
    SELECT 字段名 FROM 表名 WHERE 字段名 IN (n1,n2,n3,...); 
    

    使用IN关键字检索出所有国家代码为1、86和39的商品信息。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_country IN (1,87,39);
    
    带NOT IN关键字的查询
    SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (n1,n2,n3,...); 。
    

    查询除了国家代码为86的所有国家的产品内容。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_country NOT IN (86);
    
    带BETWEEN AND关键字的查询
    SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2; 。
    

    使用BETWEEN AND关键字检索出所有国家代码为1~50的商品的信息。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_country BETWEEN 1 AND 50;
    
    带NOT BETWEEN AND关键字的查询

    查询除了国家代码为1~50的所有国家的产品内容。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_country NOT BETWEEN 1 AND 50;
    
    使用通配符%模糊匹配数据内容

    百分号通配符%可以匹配任意长度的字符,甚至包括零字符。

    SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符%'; //其中 % 的位置可以根据需要在字符间变化。
    

    使用LIKE关键字和通配符%检索出所有商品名称带ir的商品信息。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_name LIKE '%ir%';
    
    使用通配符_模糊匹配数据内容

    下划线通配符_只能模糊匹配1个字符

     SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符_'; //其中`_`的位置可以根据需要在字符间变化。
    

    使用LIKE关键字和通配符_检索出所有商品名称以r结尾,且前边有9个字母的商品信息。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_name LIKE '_________r';
    
    查询空值

    NULL既不代表0,也不代表空字符,而是代表一种未知的状态

    SELECT 字段名 FROM 表名 WHERE 字段名 IS NULL; 
    

    使用IS NULL关键字检索出所有prod_country字段为NULL的商品信息。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_country IS NULL;
    

    与关键字IS NULL查询结果相反的是关键字IS NOT NULL,我们来看看实际操作的效果。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_country IS NOT NULL;
    
    去除重复结果
    SELECT DISTINCT 字段名 FROM 表名; 。
    
    带AND关键字的多条件查询

    使用AND操作符限制只有满足所有条件的查询才会被返回。

     SELECT 字段名 FROM 表名 WHERE 表达式1 AND 表达式2; 。
    

    想要查询表中哪些商品不仅商品名中带有toy字符,单价又同时大于5,并列出他们的商品信息。
    查询代码如下:

    SELECT *
    FROM Mall_products
    WHERE prod_name LIKE '%toy%' AND prod_price > 5;
    
    带OR关键字的多条件查询

    在WHERE声明中使用OR关键字表示只需满足两个条件中的其中一个条件即可返回结果。

    SELECT 字段名 FROM 表名 WHERE 表达式1 OR 表达式2;
    

    查询表中商品ID为BNBG01或BR01的名称和单价。
    查询代码如下:

    SELECT  ID, prod_name, prod_price
    FROM Mall_products
    WHERE ID = 'BNBG01' OR ID = 'BR01';
    
    对查询结果排序

    如果我们需要对读取的语句进行排序,我们就可以使用Order By子句来设定你想要按照的字段进行排序并返回结果。

    SELECT 字段名 FROM 表名 ORDER BY 字段名 [ASC[DESC]];
    
    id name age
    1 Tom 32
    2 Nancy 18
    3 Allen 24
    4 Jason 23
    

    我们需要查询表中信息,要求按照年龄的升序进行排序

    指定排序方向

    在默认情况下,它是按升序排列的。
    ASC: 升序关键字
    DESC: 降序关键字

    分组查询的单独使用

    分组查询的关键字是Group By,查询的是每个分组中首次出现的一条记录。

    SELECT 字段名 FROM 表名 GROUP BY 字段名;
    

    例如:
    现有user表数据:

    id name sex
    1 Tom 男
    2 Nancy 女
    3 Allen Null
    4 Jason 男
    

    我们对表中数据的性别进行分组查询:

    可以看出,返回了3条记录,分别是sex字段值为Null、女、男的记录,查询结果按照sex字段中不同的值进行了分类,只显示每个分组中的一条记录,意义不大,一般情况下,GROUP BY都和聚合函数一起使用。

    使用 LIMIT 限制查询结果的数量

    在MySQL中,提供了LIMIT关键字,用来限制查询结果的数量。
    语法:

    SELECT 字段名 FROM 表名 LIMIT [OFFSET,] 记录数;
    

    参数说明:
    第一个参数,OFFSET,可选参数,表示偏移量,如果不指定默认值为0,表示从查询结果的第一条记录开始,若偏移量为1,则从查询结果中的第二条记录开始,以此类推。
    第二个参数,记录数,表示返回查询结果的条数。
    查询班级中第2名到第5名的学生信息,并根据学生成绩进行降序排序。

    select * from tb_score order by score desc limit 1,4;
    
  • 相关阅读:
    sshd_config参数说明
    护网小结(持续更新)
    CVE-2019-2725修复(删包)
    网址收藏
    Kali 开启 SSH 服务方法
    SSL/TLS 安全测试
    时间序列(二):时序预测那些事儿
    时间序列(一):上手体验
    推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen
    评分卡系列(四):泛化误差估计和模型调参
  • 原文地址:https://www.cnblogs.com/HelloCTF/p/12793283.html
Copyright © 2020-2023  润新知