《关系数据库的标准语言.ppt》由会员分享,可在线阅读,更多相关《关系数据库的标准语言.ppt(27页珍藏版)》请在三一办公上搜索。
1、第3章 关系数据库的标准语言SQL,要编写通用的计算机程序,我们可能使用BASIC、C、PASCAL、FORTRAN等程序设计语言等,这些语言已经成为了国际标准。操作关系数据库也有一种国际标准语言,就是SQL。使用SQL语言可以进行数据定义、数据查询、数据操纵和数据控制。目前,几乎所有的关系数据库系统都支持SQL语言。本章主要介绍SQL语言的四部分功能,即数据定义、数据查询、数据操纵和数据控制。,第3章的章节安排,3.1 SQL的用途3.2 SQL的数据定义功能3.3 SQL的数据查询功能3.4 SQL的数据操纵功能3.5 SQL的数据控件功能3.6 视图,3.1 SQL的用途,关系数据库系统
2、除了提供自己特有的数据操作语言之外,还要支持SQL语言。,3.1 SQL的用途(续),SQL语言有两种使用方法,一种是用户联机使用的交互方式,另一种是作为子语言嵌入到其他高级程序语言中的嵌入方式。,3.2SQL的数据定义功能,SQL的数据定义功能是指定义数据库的结构,包括定义、修改和删除基本表。数据定义功能的SQL语句,3.2.1 定义、修改与删除基本表,1定义基本表 CREATE TABLE 表名(列名数据类型 列级完整性约束条件,列名数据类型 列级完整性约束条件,表级完整性约束条件;例如:CREATE TABLE 图书(图书编号 CHAR(6)NOT NULL UNIQUE,书名 CHAR
3、(40)NOT NULL,作者 CHAR(12),库存量 CHAR(6),定价 DECIMAL(6,2);,3.2.1 定义、修改与删除基本表(续),2修改基本表 ALTER TABLE 表名 ADD新列名 数据类型完整性约束条件 DROP完整性约束名 MODIFY列名数据类型;例如:ALTER TABLE 图书 ADD 出版社 CHAR(40);ALTER TABLE 图书 DROP UNIQUE(图书编号);ALTER TABLE 图书 MODIFY 作者 CHAR(20);3删除基本表 DROPTABLE表名;,建立和删除索引,1建立索引 CREATE UNIQUECLUSTERINDE
4、X索引名 ON表名(列名次序,列名次序);例如:CREATE UNQUE INDEX 书号 ON 图书(图书编号);CREATE INDEX 库存量 ON 图书(库存量 DESC);,建立和删除索引(续),2删除索引 DROP INDEX 索引名;例如:DROP INDEX 库存量;,3.3SQL的数据查询功能,简单查询 联接查询 嵌套查询 集合查询3.1.5 SELECT语句的格式,3.3.1 简单查询,简单查询是指只涉及一个表的数据查询。例3-7:SELECT 客户编号,客户名 FROM 客户;例3-8:SELECT*FROM 订购;,3.3.1 简单查询(续1),例3-9:SELECT
5、图书编号,书名,作者,库存量,定价FROM图书WHERE 出版社人民文学出版社ORDER BY定价DESC;例3-10:SELECT 图书编号,书名,作者,库存量 FROM图书 WHERE 书名 LIKE数据库;,3.3.1 简单查询(续2),例3-11:SELECT客户编号,客户名,所在城市,联系电话 FROM 客户 WHERE 所在城市北京 OR所在城市上海;例3-14:SELECT 最高价图书:,MAX(定价),最低价图书:,MIN(定价),平均价格:,AVG(定价)FROM 图书 WHERE 出版社高等教育出版社;,3.3.2 联接查询,联接查询是指涉及两个表以上的查询。例3-16:S
6、ELECT 图书编号,书名,库存量,订货数量,订货日期 FROM图书,订购 WHERE图书.图书编号订购.图书编号 AND 图书.图书编号AB-001;例3-18:SELECT 客户编号,客户名,所在城市,联系电话,订购数量 FROM客户,图书,订购 WHERE客户.客户编号订购.客户编号 AND 图书.图书编号订购.图书编号 AND 书名关系数据库系统概论;,3.3.3 嵌套查询,嵌套查询是指在SELECT-FROM-WHERE查询块内部再嵌入另一个查询块,嵌入的查询块被称为子查询。例3-19:SELECT 客户名,联系电话 FROM客户 WHERE所在城市IN(SELECT所在城市 FRO
7、M客户 WHERE客户名王强);,3.3.4 集合查询,例3-22:SELECT*FROM 客户 WHERE所在省份黑龙江 UNION SELECT*FROM 客户 WHERE所在城市牡丹江;,3.3.5 SELECT语句的格式,SELECT ALLDISTINCT,FROM,WHERE 条件表达式GROUP BY 分组属性名 组选择条件表达式ORDER BY 排序属性 升(降)序;,3.4SQL的数据操纵功能,插入数据 修改数据 删除数据,插入数据(INSERT),格式:INSERT INTO 表名(列名1,列名2,)VALUES(常量1,常量2,;例如:INSERT INTO 图书(图书编
8、号,书名,作者,定价)VALUES(”DB-303”,”数据库技术”,”李一”,18.6);,修改数据(UPDATE),格式:UPDATE表名SET列名1表达式1,列名2表达式2WHERE条件;例如:UPDATE 图书 SET 图书编号WY-303 WHERE 图书编号WH-303;,3.4.3 删除数据(DELETE),格式:DELETEFROM表名WHERE条件;例如:DELETE FROM 图书 WHERE 图书编号AB-201;,3.5SQL的数据控制功能,授予权限 收回权限,授予权限(GRANT),格式:GRANT 权限,权限,ON 对象类型 对象名 TO 用户,用户,WITH GR
9、ANT OPTION;例如:GRANT SELECT ON TABLE 客户 TO USER1;,收回权限(REVOKE),格式:REVOKE 权限,权限,ON 对象类型 对象名 FROM 用户,用户,;例如:REVOKE UPDATE ON TABLE 客户 FROM USER1,USER2;,3.6视图,3.6.1 视图的作用3.6.2 定义、删除视图,3.6.1 视图的作用,限制某些用户的查询范围,保护基本表中希望保密的数据。简化查询语句。使用户能够以多种角度看待同一数据。,3.6.2 定义、删除视图,1定义视图 格式:CREATE VIEW 视图名(列名,列名)AS 子查询 WITH CHECK OPTION;例如:CREATE VIEW 铁道_图书 AS SELECT 图书编号,书名,作者,库存量,定价 FROM图书 WHERE 出版社“铁道出版社”;2 删除视图 DROPVIEW视图名;,