zoukankan      html  css  js  c++  java
  • 测试人员常用sql语句

    出自于博客https://www.cnblogs.com/qgc1995/p/9668369.html,根据自己的使用习惯做了一些小修改。

    一、增删改查

    1,查询 SELECT (查询表的所有信息)

    执行后,结果被存储在一个结果表中(称为结果集)

    SELECT 列名称(或*FROM 表名称                  ---------*代表全部列

     2,插入 INSERT(在表中插入新的行)

    INSERT INTO 表名称 VALUES (值1, 值2,....)        ---------值与列相对应

     也可以指定所要插入数据的列:

    INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)  ---------未包括列的值为空 

     3,修改 UPDATE(修改表中某一列的值)

    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值        ---------修改多列,列名称=新值,列名称=新值,...

     4,删除 DELETE(删除表中的某一行)

    DELETE FROM 表名称 WHERE 列名称 =----------不加where条件,会删除所有行数据,慎重使用

      二、常用辅助查询

    1,DISTINCT 语句(测试中,适用于去除重复值,并返回列)

    SELECT DISTINCT 列名称 FROM 表名称      ----------针对多列重复,列名称,列名称,...

     2,WHERE 语句(测试中,适用于有条件选取语句)

    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

     部分运算操作符如下:

    操作符:描述
    =:等于
    <>:不等于
    >:大于
    <:小于
    >=:大于等于
    <=:小于等级
    BETWEEN:在某个范围内
    LIKE:模糊查询

    3,AND 和 OR 语句(测试中,适用于结合多个where条件)

     AND 显示多个条件都满足的记录,而OR 只要有一个条件满足则显示。

    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 AND/OR 列 运算符 值     ---------可用圆括号来组成复杂的表达式

     4,LIKE与通配符(测试中,适用于查找特定的某一值)

    SELECT 列名称 FROM 表名称 WHERELIKE-----------如查找姓氏为李的所有记录,where name like '李%'     

     值可以使用一下通配符组成:

    通配符描述
    % 替代一个或多个字符
    _ 仅替代一个字符
    [charlist] 字符列中的任何单一字符

    [^charlist]

    或者

    [!charlist]

    不在字符列中的任何单一字符

    5,IN与BETWEEN操作符(测试中,in适用于设置多个值,between适用于值的区间)

    SELECT 列名称 FROM 表名称 WHEREIN (值1,值2,...)       
    
    SELECT 列名称 FROM 表名称 WHEREBETWEEN 值1 AND 值2        ---------这里值1值2可以使数字,文本,日期,不同的数据库可能包含值1值2,也可能不包含

     6,ORDER BY 语句(测试中,适用于对结果集进行排序)

    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值  ORDER BY 列名称 (DESCASC)   ---------多列排序,以逗号隔开,并以第一个为准,第一个有重复地再看第二个,以此类推

    7,TOP, LIMIT, ROWNUM 子句(用于规定要返回的记录的数目)

    SELECT *FROM 表名 LIMIT 5;          -----------不是所有数据库都支持TOP、ROWNUM,例如MySQL支持limit。

     三、函数

    1,COUNT()函数 - 返回行数

    SELECT COUNT(列名) FROM 表名              ---------也可以COUNT(*)代表所有行 
    SELECT COUNT(列名) AS 自定义列名 FROM 表名    --------如果要重命名计数的行

    2,AVG()函数 - 返回平均值

    3,FIRST()函数 - 返回第一个记录的值

    4,LAST()函数 - 返回最后一个记录的值

    5,MAX()函数 - 返回最大值

    6,MIN()函数 - 返回最小值

    7,SUM()函数 - 返回总和 

    8,Group By函数(测试中,根据一列或多列对结果集进行分组)

    SELECT 列名, 聚合函数(列名) FROM 表名   ---------这函数一般是合计函数
    WHERE 列名 操作符 值
    GROUP BY 列名                     -------这个列名要与第一个列名一致,数量也一致

    9,Having函数(测试中,通常与GROUP BY语句联合使用,过滤由GROUP BY语句返回的记录集)

    SELECT 列名, 函数(列名) FROM 表名
    WHERE 列名 操作符 值
    GROUP BY 列名 
    HAVING 聚合函数(列名) 操作符 值        --------这里WHERE就不能代替HAVING

    10,NOW() 函数

    SELECT NOW() FROM 表名;

    四、表连接

    1,Inner Join内连接(测试中,与join相同,交叉捆绑多个表的数据,如果表中有至少一个匹配,则返回行)

    SELECT 表A.列名, 表B.列名 FROM 表A        --------需要在列前加上对应的表名
    INNER JOIN 表B 
    ON 表A.主键 = 表B.主键  

    2,Left Join左连接(左边表的所有数据都显示出来,右边的表数据只显示共同有的那部分)

    SELECT 表A.列名, 表B.列名 FROM 表A 
    LEFT JOIN 表B 
    ON 表A.主键 = 表B.主键

    3,Right Join右连接(与左连接相反)

    4,full join 全连接(查询出左表和右表所有数据,但是去除两表的重复数据)

    5,Union (合并两个或多个 SELECT 语句的结果集)

    多个select语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同。

    SELECT 列名 FROM 表A       -------默认显示唯一值,需要显示重复的值,用 UNION ALL
    UNION
    SELECT 列名 FROM 表B
  • 相关阅读:
    【转】关于Vue打包的一个要注意的地方
    ES6 简介
    java ee / JVM Tuning
    network / ifconfig
    My live Read / Oray.com / huashengke / peanut shell / dnspod.cn
    network / VXLAN spine和bord-leaf
    hd + TP-Link SG2008MP / switch
    elasticSearch+ik_smart 支持 符号检索
    使用java+http+Range头 实现视频分段下载
    springBoot+elasticSearch 使用function_score自定义评分
  • 原文地址:https://www.cnblogs.com/haifeima/p/12598539.html
Copyright © 2011-2022 走看看