软件测试中常用的SQL语句(初级篇)

  软件测试人员对数据库需要熟悉的常用操作语句就是增删改查。


新增记录语句
语法格式:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name [(col_name,...)]
    {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
    [ ON DUPLICATE KEY UPDATE
      col_name=expr
        [, col_name=expr] ... ]
常用举例
INSERT member(name,age,reg_date) values(‘张三’,20,’2009-11-30’);




删除记录语句
语法格式:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [WHERE where_condition]
    [ORDER BY ...]
[LIMIT row_count]
常用举例
--删除姓名为李四的会员记录
DELETE FROM member WHERE name = ‘李四’;


更新记录语句
语法格式:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
[LIMIT row_count]
常用举例
--更新姓名为张三的会员年龄为19岁
UPDATE member SET age = 19 WHERE name = ‘张三’;


查询语句
语法格式:
SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUN
    select_expr [, select_expr ...]
    [FROM table_references
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFF
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name' export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
常用举例
--查询member表中所有的会员记录
SELECT * FROM member;
其中“*”号表示显示符合条件的记录的所有字段
在数据库中存储类型为文本的字段查询
--查询member表中姓名叫张三的会员
SELECT * FROM member WHERE name = '张三';
--查询member表中所有姓张的会员
SELECT * FROM member WHERE name like ‘张%’;
其中“%”表示任意字符都符合条件。即只有满足姓名中第1个字符是“张”就满足查询条件
--查询member表中所有名字包含“三”的会员
SELECT * FROM member WHERE name like ‘%三%’;
由于“三”字前后都含有百分号“%”,这就表示“三”字前面和“三”字后面不管是任何字符都满足查询条件,即使“三”字前后没有字符也符合条件
在数据库中年龄存储为数字类型的字段查询
--查询member表中年龄等于18的会员
SELECT * FROM member WHERE age = 18;
--查询member表中年龄大于等于18的会员
SELECT * FROM member WHERE age >= 18;
--查询member表中年龄在18和30之间的会员包含18岁和30岁
SELECT * FROM member WHERE age >=18 AND age <=30;
--查询member表中年龄在18和30之间的会员不包含18岁和30岁
SELECT * FROM member WHERE age >18 AND age <30;
在数据库中存储为日期类型字段查询
--查询member表中在2009-11-30注册的会员
SELECT * FROM member WHERE reg_date = “2009-11-30”;
其中reg_date是表中注册日期字段。由于不同数据库中查询语句有时稍有区别。以上使用语句在MySQL数据库中可以运行。但要想在Oracle数据库中使用就得稍加修改,如下:
SELECT * FROM member WHERE reg_date = to_date(“2009-11-30”,”YYYY-MM-DD”);
下面的SQL语句适用IBM的DB2数据库:
SELECT * FROM member WHERE reg_date = date(“2009-11-30”);
“YYYY-MM-DD”表示日期格式为(年-月-日)
--查询member表中2009-11-01到2009-11-30之间注册的会员
SELECT * FROM member WHERE reg_date BETWEEN “2009-11-01” AND “2009-11-30”;
适用于Oracle数据库的查询语句:
SELECT * FROM member WHERE reg_date BETWEEN to_date(“2009-11-01”,”YYYY-MM-DD”) AND to_date(“2009-11-30”, ”YYYY-MM-DD”);
适用于IBM DB2数据库的语句:
SELECT * FROM member WHERE reg_date BETWEEN date(“2009-11-01”) AND date(“2009-11-30”);

tips:

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值