测试人员要掌握基本SQL语句.doc
文本预览下载声明
目录??一、DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)??二、DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)??三、DCL—数据控制语言(GRANT,REVOKE)?四、下半部分内容(主要是PL/SQL:函数,存储过程,事务等)说明:本文档的使用对象是对SQL有一些了解的软件测试人员,我只是把我知道的知识结合网上的资料进行二次总结,不正之处望多请教。本文档配置附有SQL范例脚本。一、DDL数据定义语言首先,简要介绍基础语句,作为测试人员一般测试时,已经由数据库设计师建好了数据库,数据库设计师可能也不用语句的方式来建表,但我们应该能看懂各语句的使用格式,语句的含义,有兴趣再作深入了解。?1、创建数据库?CREATE DATABASE [database-name]?2、删除数据库?DROP DATABASE dbname1,dbname2…3、备份数据库?--- 创建 备份数据的 device?USE master?EXEC sp_addumpdevice disk, testBack, c:\mssql7backup\MyNwind_1.dat?--- 开始 备份?BACKUP DATABASE pubs TO testBack??4、创建表?create table tabname(col1 type1 [not null] [primary 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、增加字段Alter table tabname?ADD 列名数据类型[NULL|NOT NULL]?7、修改字段ALTER TABLE表名ALTER COLUMN 列名数据类型[NULL|NOT NULL]8、删除字段ALTER TABLE表名DROP COLUMN 列名数据类型[NULL|NOT NULL]9、添加主键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 idxname?注:索引是不可更???的,想更改必须删除重新建。?13、创建视图create view viewname as [select statement ]14、删除视图drop view viewname?二、DML—数据操纵语言1、数据查询数据查询是数据库中最常见的操作。在本文档里将作重点介绍。SQL语言提供SELECT语句,通过查询操作可得到所需的信息。SELECT语句的一般格式为:SELECT〈列名〉[{,〈列名〉}]FROM〈表名或视图名〉[{,〈表名或视图名〉}][WHERE〈检索条件〉][GROUP BY 列名1[HAVING 条件表达式]][ORDER BY 列名2[ASC|DESC]];SELECT语句的执行过程是:根据WHERE子句的检索条件,从FROM子句指定的基本表或视图中选取满足条件的元组,再按照SELECT子句中指定的列,投影得到结果表。如果有GROUP子句,则将查询结果按照列名1相同的值进行分组。如果GROUP子句后有HAVING短语,则只输出满足HAVING条件的元组。如果有ORDER子句,查询结果还要按照列名2的值进行排序。1.1、查询指定列SELECT 列名 FROM 表名或视图名1.2、查询全部列SELECT * FROM 表名或视图名或SELECT 全部列名 FROM 表名或视图名1.3、取消相同取值的行在查询结果中有可能出现取值完全相同的行了。SELECT DISTINCT 列名 FROM 表名或视图名1.4、比较大小比较运算符有? ? ? ? =,,=
显示全部