作为一名合格的测试工程师,掌握基本的数据库语句是必须的。毫无疑问,无论是哪家公司,它的招聘要求上都需要了解数据库。对于我这个刚出社会的小白应届生,在公司也有需求需要用到数据库。在这个需求结束后,我就简单小结一下所需要用到的数据库语句,以及一些数据库其他基础语句的补充。
公司需求大致如下:推送短信有两种方式,芝麻匹配自有的车牌库,获取目标用户手机号,通过阿里云批量推送短信,成本低。但是目前我们都是通过四个表去查询,数据高达几百万条,而且会有重复的,比如一个司机多个号码,多个车牌号,所以目标是把四个表汇集成一个表。而测试的任务就是在navicat for SQL中分别查询它们各自的总数,去和mongodb中的汇总表进行对比。后面还要从四个表中拿数据出来,加上一些构造的数据进行校验。大概需求是这样,下面聊聊需要用到的SQL语句。
SQL 语句对大小写不敏感。SELECT 等效于 select。Select * from a where 是比较常见的语句,如需获取名为 “LastName” 和 “FirstName” 的列的内容(从名为 “Persons” 的数据库表)
Select lastname,firstname from persons where
1.再比如我想查询车牌号:
SELECT * FROM npuseruser.car_membercard_userinfo WHERE field_id = ‘USER_FORM_INFO_FLAG_MOBILE’ AND field_value = ‘粤S9Z99M’;
2.在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。比如我想让芝麻id的只显示唯一:
SELECT DISTINCT(zhimaid) as c FROM npcarcar.car_driver_account WHERE phone_number !=’’ or carplate_number !=’’
3.ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
以字母顺序显示公司名称:
Select company,b from c order by company
以逆字母顺序显示公司名称:
Select company,b from c order by company DESC
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
Select company,b from c order by company DESC,num ASC
以上是比较基础的SQL语句,其实作为一个初级测试工程师,你会一些简单的基础SQL语句就行,但是我这个需求还有用到比较复杂的,比如说:
SELECT DISTINCT(u.id) as c FROM npuseruser.car_membercard_userinfo as m LEFT JOIN npuseruser.car_apps_openid as o ON m.openid = o.openid LEFT JOIN npuseruser.car_zmuserinfo
这个还会有多表查询,就是比较复杂的一种串联查询,但是作为初级测试工程师是不需要掌握。后面再更新其他的SQL的语句。