测试人员要掌握的基本的sql语句

上传人:kms****20 文档编号:39952059 上传时间:2018-05-21 格式:DOC 页数:11 大小:48KB
返回 下载 相关 举报
测试人员要掌握的基本的sql语句_第1页
第1页 / 共11页
测试人员要掌握的基本的sql语句_第2页
第2页 / 共11页
测试人员要掌握的基本的sql语句_第3页
第3页 / 共11页
测试人员要掌握的基本的sql语句_第4页
第4页 / 共11页
测试人员要掌握的基本的sql语句_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《测试人员要掌握的基本的sql语句》由会员分享,可在线阅读,更多相关《测试人员要掌握的基本的sql语句(11页珍藏版)》请在金锄头文库上搜索。

1、目录 一、DDL数据定义语言(CREATE,ALTER,DROP,DECLARE) 二、DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT) 三、DCL数据控制语言(GRANT,REVOKE) 四、下半部分内容(主要是 PL/SQL:函数,存储过程,事务等)说明:本文档的使用对象是对 SQL 有一些了解的软件测试人员,我只是把我知道的知识结 合网上的资料进行二次总结,不正之处望多请教。本文档配置附有 SQL 范例脚本。一、DDL 数据定义语言 首先,简要介绍基础语句,作为测试人员一般测试时,已经由数据库设计师建好了数据库, 数据库设计师可能也不用语句的方式来建表,但我们

2、应该能看懂各语句的使用格式,语句 的含义,有兴趣再作深入了解。 1、创建数据库 CREATE DATABASE database-name 2、删除数据库 DROP DATABASE dbname1,dbname23、备份数据库 - 创建 备份数据的 device USE master EXEC sp_addumpdevice disk, testBack, c:mssql7backupMyNwind_1.dat - 开始 备份 BACKUP DATABASE pubs TO testBack 4、创建表 create table tabname(col1 type1 not null pri

3、mary key,col2 type2 not null,.) 例如: CREATE TABLE S(SNO CHAR(10) NOT NULL , SN VARCHAR(20), AGE INT, SEX CHAR(2) DEFAULT 男 ,DEPT VARCHAR(20); 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2 from tab_old definition only5、删除表drop table tabname 6、增加字

4、段Alter table tabname ADD NULL|NOT NULL 7、修改字段 ALTER TABLE ALTER COLUMN NULL|NOT NULL8、删除字段 ALTER TABLE DROP COLUMN NULL|NOT NULL9、添加主键Alter table tabname add primary key(col) 10、删除主键Alter table tabname drop primary key(col) 11、创建索引create unique index idxname on tabname(col.) 12、删除索引drop index idxnam

5、e 注:索引是不可更改的,想更改必须删除重新建。 13、创建视图create view viewname as select statement 14、删除视图drop view viewname 二、DML数据操纵语言1、数据查询 数据查询是数据库中最常见的操作。在本文档里将作重点介绍。SQL 语言提供 SELECT 语句,通过查询操作可得到所需的信息。 SELECT 语句的一般格式为:SELECT列名, 列名 FROM表名或视图名, 表名或视图名 WHERE检索条件 GROUP BY HAVING ORDER BY ASC|DESC; SELECT 语句的执行过程是: 根据 WHERE 子

6、句的检索条件,从 FROM 子句指定的基本表或视图中选取满足条件的元组,再按照 SELECT 子句中指定的列,投影得到结果表。 如果有 GROUP 子句,则将查询结果按照相同的值进行分组。 如果 GROUP 子句后有 HAVING 短语,则只输出满足 HAVING 条件的元组。 如果有 ORDER 子句,查询结果还要按照的值进行排序。 1.1、查询指定列 SELECT FROM 1.2、查询全部列 SELECT * FROM 或 SELECT FROM 1.3、取消相同取值的行 在查询结果中有可能出现取值完全相同的行了。 SELECT DISTINCT FROM 1.4、比较大小 比较运算符有

7、 =,=,!,! FROM WHERE 比较运算符 1.5、多重条件查询 当 WHERE 子句需要指定一个以上的查询条件时,则需要使用逻辑运算符 AND、OR 和 NOT 将其连结成复合的逻辑表达式。 其优先级由高到低为:NOT、AND、OR,用户可以使用括号改变优先级。 SELECT FROM WHERE AND OR 1.6、确认范围查询 用于确定范围运算符有:BETWEENAND和 NOT BETWEENAND SELECT FROM WHERE NOT BETWEEN 值 1 AND 值 2 这与下等价 SELECT FROM WHERE =值 1 AND FROM WHERE 值 2

8、1.7、确认集合 确定集合符号:IN,NOT IN SELECT FROM WHERE NOT IN (常量 1,常量 2,常量 n)1.8 字符匹配查询 字符匹配查询符号:LIKE,NOT LIKE SQL Server 2000 支持如下四种通配符:_(下划线):匹配任意一个字符; %(百分号): 匹配 O 个或多个字符; :匹配 中的任意一个字符。如acdg表示匹配 a 或 c 或 d 或 g,如果 中的字符是 有序的,则可以使用连字符一来简化 中的内容,例如abcde可简写为:a-e; :不匹配 中的任意一个字符。如acdg表示不匹配 a、c、d、g,如果中的字 符是有序的,也可以使用

9、简化形式例如abcde可简写为:a-e。 SELECT FROM WHERE NOT LIKE 1.9 空值查询 空值不同于零和空格,它不占任何存储空间。 判断某个值是否为 NULL 值,不能使用普通的比较运算符(一、!一等),而只能使用专门的 判断 NULL 值的子句来完成。 SELECT FROM WHERE IS NOT NULL1.10 常用库函数及统计汇总查询 常用的库函数 AVG: 按列计算平均值 SUM:按列计算值的总和 MAX:求一列中的最大值 MIN:求一列中的最小值 COUNT:按列值计算个数 总数:select count(field1) as totalcount fr

10、om table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 注 1:SQL 规定,当使用计算函数时,列名不能与计算函数一起使用(除非他们出现在其 他集合中)。 例如查询年龄最大的学生的姓名和年龄,如下写法是错误的: SELECT 姓名,MAX(年龄)FROM Studen

11、t 注 2:计算函数不能出现在 WHERE 子句中。 例如查询年龄最大的学生的姓名如下写法是错误的: SELECT 姓名 FROM Student WHERE 年龄=MAX(年龄) 正确的命令应为:SELECT 姓名,年龄 FROM Student Where 年龄=(select max(年龄) from student)1.11 分组查询 SELECT FROM GROUP BY,n HAVING 注 1:分组依据列不能是 text、ntext、image 和 bit 类型的列。 注 2:有分组时,查询列表中的列只能取自分组依据列(计算函数中的列除外)1.12 对查询结果进行排序 SELE

12、CT FROM ORDER BYASC l DESC,n1.13 数据表连接查询 A、 INNER JOIN: 这是最普通的联接类型。只要在这两个表的公共字段之中有相符值,内部联接将组合两个 表中的记录。SELECT fields FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field1 AND ON table1.field2 compopr table2.field2) OR ON table1.field3 compopr table2.field3); B、left outer join: 左外连接(左连接

13、):结果集包括连接表的匹配行,也包括左连接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c C:right outer join: 右外连接(右连接):结果集包括连接表的匹配连接行,也包括右连接表的所有行。 D:full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。1.14 使用 TOP 限制结果集 使用 TOP 谓词时注意最好与 ORDER BY 子句一起使用,因为这样的前几名才有意义。但 当使用 WITH TIES 时,要求必

14、须使用 ORDER BY 子句。 TOP 谓词写在 SELECT 单词的后边,查询列表的前边。 使用 TOP 谓词的格式为:TOP npercentwith ties其中:n 为非负整数。 TOP n:表示取查询结果的前 n 行;TOP n percent:表示取查询结果的前 n 行; With ties:表示包括并列的结果。1.15 将查询结果存入表中 INTO 子句的语法格式为:INTO 新表名 INTO 子句跟在 SELECT 子句之后、FROM 子句之前。SELECT INTO 新表名 FROM。 新表名是要存放查询结果的表名,SELECT INTO 语句包含两个操作:首先按查询列表创

15、 建新表,然后执行查询语句,并将结果保存到新表中。用 INTO 子句创建的新表可以是永久表,也可以是临时表。临时表又分为两种:局部 临时表和全局临时表。局部临时表要在表名前加#,它只能用在当前的连接中;全局临时 表要在表名前加#,它的生存期为创建全局临时表的连接的生存期1.16 合并查询使用 UNION 的格式为:SELECT 语句 1UNIONSELECT 语句 2UNION ALLSELECT 语句 n 使用 UNION 的两个基本规则是: A、所有查询语句中的列个数和列的顺序必须相同。 B、所有查语句中的对应列的数据类型必须兼容。1.17 子查询 A、使用子查询进行比较测试 使用子查询进行比较测试时,通过比较运算符(=、!=、=),将一个表达 式的值与子查询返回的单值进行比较。如果比较运算的结果为 True,则比较测试也返回 True。使用子查询进行的比较测试要求子查询语句必须是返回单值的查询语句。 例 1:查询修了“c02“课程的且成绩高于此课程的平均成绩的学生的学号和成绩。SELECT 学号,成绩 FROM SCWHERE 课程号=c02 and 成绩( SELECT AVG(成绩) from SCWHERE 课程号=c02)B、使用子查询基于集合的测试 使用子查询进行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号