文档详情

关系数据库标准语言SQL(.doc

发布:2017-02-03约9.68千字共16页下载文档
文本预览下载声明
关系数据库标准语言SQL 【本章综述】SQL语言是关系数据库操作的标准语言。主要包括数据定义、数据操作和数据控制三类。 【本章重点】sql语句的编写和执行。 【本章难点】嵌套查询。 前言:SQL(Structured Query Language)语言1974年提出,1975~1979年IBM公司研制了著名的关系数据库管理系统原形System R 并实现了这种语言。特点:功能丰富、语言简捷。经过不断修改,最终发展成为关系数据库的标准语言。 3.1 SQL概述 本节综述 SQL 是一种介于关系代数与关系演算之间的结构化查询语言,但其功能不仅仅是查询,SQL是一个通用的、功能极强的关系数据库语言。 1.1 SQL的特点 SQL 语言集数据查询(Data Query)))) 基本表:本身独立存在的表,在SQL中一个关系对应一个表。一个(多个)基本表对应一个存储文件。 存储文件:其逻辑结构组成了关系数据库的内模式。 视图:从一个或几个基本表导出的表,本身不独立存储在数据库中,数据库只存放视图的定义而不存放视图对应的数据。 3.2 数据定义(详讲的一节) 操作对象 操作方式 创 建 删 除 修 改 表 CREATE TABLE DROP TABLE ALTER TABLE 视 图 CREATE VIEW DROP VIEW 索 引 CREATE INDEX DROP INDEX SQL的数据定义语句 3.2.1 定义、删除与修改基本表 定义基本表 CREATE TABLE 表名 (列名 数据类型[列级完整性约束条件] [,列名 数据类型[列级完整性约束条件]] [,表级完整性约束条件]]); 重点讲述P88 例1(讲清完整性约束条件) 修改基本表 ALTER TABLE 表名 [ADD 新列名数据类型[完整性约束]] [DROP完整性约束名] [MODIFY列名数据类型]; 重点讲述P89 例2、3、4 删除基本表 DROP TABLE 表名 注意:基本表定义一旦删除,表中的数据、此表上建立的索引和视图都将自动被删除,因此执行此操作要格外当心。 3.2.2 建立与删除索引 建立索引的意义:加快查询速度的有效手段。(可以讲查字典的例子) 建立索引 CREATE [UNIQUE][CLUSTER]INDEX索引名 ON 表名(列名[次序][,列名[次序]]…); 次序:ASC(升序,缺省)、DESC(降序) UNIQUE:表明此索引的每一个索引值只对应唯一的数据记录。 CLUSTER:表示建立聚簇索引。 聚簇索引:指索引项的顺序与表中记录的物理顺序一致的索引组织。其目的用户可以在最常查询的列上建立聚簇索引提高查询效率。缺点:索引更新时,物理顺序的变更代价过大。 重点讲述P91 例6 删除索引 DROP INDEX索引名 3.3 查 询 数据库查询是数据库的核心操作。SELECT 语句的一般格式: SELECT [all |distinct]目标列表达式]… FROM 表名或视图名[,表名或视图名]… [WHERE 条件表达式] [GROUP BY列名1[HAVING条件表达式]] [ORDER BY列名2[ASC|DESC]]; 含义:整个SELECT语句的含义是,根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式选出元组中属性值形成的结果表。 附:GROUP 子句按列名1分组,属性相等的为一个组。 HAVING :满足条件的组才能输出。 ORDER:排序。 3.3.1 单表查询(重点是若干例子) 单表查询是指仅涉及一个表的查询。 选择表中的若干列(P92~93 例1~例5) 查询指定列 查询全部列(注意“*”的用法) 查询经过计算的值 选择表中的若干元组(P94~99 例6~例23) 消除取值重复的行(DISTINCT的用法) 查询满足条件的元组(WHERE的用法) 比较大小(=、、、=、=、!=或) 确定范围(BETWEEN。。。AND 的用法) 确定集合(IN、NOT IN 的用法) 字符匹配(LIKE 的用法) [NOT]LIKE’匹配串’[ESCAPE‘换码字符’] 匹配串可以是完整的字符,亦可是如下两种通配符: %(表任意长度) -(表单个字符) 涉及空值的查询(NULL) 多重条件查询(AND OR的使用) 对查询结果排序(P99 例24,25) 使用集函数(P100 例26~例29) COUNT ([DISTINCT|ALL]
显示全部
相似文档