行业知识
常用SQL命令
应用经常需要处理用户的数据,并将用户的数据保存到指定位置,数据库是常用的数据存储工具,数据库是结构化信息或数据的有序集合,几乎所有的关系数据库都使用 SQL 编程语言来查询、操作和定义数据,进行数据访问控制,作为测试人员,掌握SQL语言是必要的。
我们一般对数据库的数据表进行增删改查的操作,以下是一些常用的SQL命令。
数据表增加数据
我们可以通过insert into语句向表中插入新记录
使用该命令有2种方式:
| 命令形式 | 描述 |
|---|---|
| INSERT INTO table_name VALUES (value1,value2,value3,...),(value1_2,value2_2,value3_2,...),...,(value1_n,value2_n,value3_n,...); | 无需指定要插入数据的列名,只需提供被插入的值即可,但需要注意,被插入的表中有多少个字段(即列),则值就必须有多少个,且需要按照表字段排序进行赋值 |
| INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...),(value1_2,value2_2,value3_2,...),...,(value1_n,value2_n,value3_n,...); | 需要指定列名及被插入的值 ,column与value一一对应,即column1=value1,column2=value2 |
数据表删除数据
可以用DELETE命令删除指定的数据(工作中慎用,即使使用,必须检查where语句是否正确)
命令:DELETE FROM table_name WHERE xxx;
数据表修改数据
如果需要修改表中一些数据,可以使用UPDATE命令
UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;
数据表查询数据
数据表操作最多的就是查询了,即SELECT语句,
| 命令形式 | 描述 |
|---|---|
| SELECT column1, column2, ... FROM table_name [where xxx]; | 查询table_name表符合xxx条件的数据的指定字段值 |
| SELECT * FROM table_name [where xxx]; | 查询table_name表符合xxx条件的数据的所有字段值 |
函数
在SELECT语句中,经常会用一些函数对数据进行统计,常用函数如下:
| 函数 | 说明 |
|---|---|
| COUNT() | 返回符合条件的数据量 |
| MAX() | 返回最大值 |
| MIN() | 返回最小值 |
| DISTINCT() | 在表中,一个列可能会包含多个重复值,该函数返回所在列去重后的所有值 |
| ROUND() | 把数值字段四舍五入入为指定的小数位数 |
COUNT()
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)
| 函数 | 说明 |
|---|---|
| SELECT COUNT(*) FROM table_name[where xxx]; | 返回表中符合where条件的数据的总量 |
| SELECT COUNT(column_name) FROM table_name[where xxx]; | 返回表中符合where条件的,且列column_name的值不为NULL的总量,类似于 SELECT COUNT(*) FROM table_name where column_name is not NULL[ and xxx]; |
| SELECT COUNT(condition) FROM table_name[where xxx]; | 返回表中符合where条件,且满足condition!=null的数据量 |
| SELECT COUNT(condition or NULL) FROM table_name[where xxx]; | 返回表中符合where条件,且满足condition的数据量 |
COUNT(*)和COUNT(column_name)
COUNT(condition)
前面说了,COUNT()函数是统计指定条件不为NULL的数据,所以对于SELECT COUNT(condition) FROM table_name[where xxx];语句,只要符合where条件的数据,在condition不为NULL,就会被统计进去,有几种比较常用的用法
我们有时会碰到COUNT(数字)的用法,因为统计指定条件不为NULL的数据,而数字肯定不是NULL,所以COUNT(数字)相当于统计符合where条件的数据量
另一种就是条件表达式,我们需要统计的数据量除了要符合where条件外,还需要符合指定条件
如下图所示,在COUNT()函数里加上了条件表达式,但是条件表达式需要注意的一点是:COUNT()函数是根据值是否为NULL去统计的,所以条件表达式要根据结果为NULL去判断,即如果条件表达式得到的结果是true或false,对于COUNT()函数来说,都是可统计的,因为true和false都不是NULL,所以如果需要统计符合条件的,可以在条件表达式后加上or NULL,如果前面的条件表达式为true时,不会走后面为NULL的设置,如果为false时,则会走后面为NULL的设置
注意:可能有人会有疑问,如果还需要符合指定条件,为什么不在where条件中加上,而是在count()函数中指定?因为有些查询可能比较复杂,比如需要从不同的维度去查询的时候,where条件会将数据范围固定在某些条件中,count()则可以在指定的符合where条件的数据范围中去统计不同维度的数据,具体按照实际需要去使用即可,如下:
如统计男性中grade>20和grade