测试人员常用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 表名称 WHERE 列 LIKE 值 -----------如查找姓氏为李的所有记录,where name like '李%'
值可以使用一下通配符组成:
通配符 | 描述 |
---|---|
% | 替代一个或多个字符 |
_ | 仅替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或者 [!charlist] |
不在字符列中的任何单一字符 |
5,IN与BETWEEN操作符(测试中,in适用于设置多个值,between适用于值的区间)
SELECT 列名称 FROM 表名称 WHERE 列 IN (值1,值2,...) SELECT 列名称 FROM 表名称 WHERE 列 BETWEEN 值1 AND 值2 ---------这里值1值2可以使数字,文本,日期,不同的数据库可能包含值1值2,也可能不包含
6,ORDER BY 语句(测试中,适用于对结果集进行排序)
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 ORDER BY 列名称 (DESC/ASC) ---------多列排序,以逗号隔开,并以第一个为准,第一个有重复地再看第二个,以此类推
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右连接(与左连接相反)
5,Union (合并两个或多个 SELECT 语句的结果集)
多个select语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同。
SELECT 列名 FROM 表A -------默认显示唯一值,需要显示重复的值,用 UNION ALL UNION SELECT 列名 FROM 表B