SQL语句基本知识课件_第1页
SQL语句基本知识课件_第2页
SQL语句基本知识课件_第3页
SQL语句基本知识课件_第4页
SQL语句基本知识课件_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL语句基本知识,第4章 关系数据库语言SQL,教学内容 SQL概述;SQL的数据定义;SQL的数据查询;SQL的数据更新;嵌入式SQL 教学要求 了解SQL语言特点和基本概念,重点掌握SQL语言基本功能,会用SQL语言对数据库进行查询,更新;会用SQL语言创建视图,表和其他高级功能。 教学重点 掌握SQL语言基本功能。 教学难点 SQL的数据查询。,SQL语句基本知识,4.1 SQL语言概述,4.1.1 SQL的产生和发展,1970年,提出关系模型; 1972年,SQUARE语言; 1974年,SEQUEL; 1986年,美国提出了数据库SQL语言,1987年,国际化标准化组织采纳为国际标

2、准,称为“SQL86”; 1989年,SQL89; 1992年,SQL2; 1999年,SQL3。,SQL语句基本知识,4.1.2 SQL的特点,一体化 高度非过程化 两种使用方式 用户性能好 功能强大 是所有数据库管理系统的公共语言,SQL语句基本知识,4.1.3 SQL语言的基本组成,SQL语言支持关系数据库的三级模式结构,如图6.1所示。,SQL语句基本知识,其中: (1)外模式对应于视图和部分基本表; (2)模式对应于基本表,内模式对应于存储文件; (3)在SQL中,表被分为两种:一种叫基表(basetable),其数据显式地存储在数据库中;另一种叫视图(view),它是一种虚表,具有

3、逻辑定义,是从一个或几个基表(或视图)导出的表。视图本身并不作为一个表显式地存储在数据库中。每个基本表对应一个存储文件,一个表可以带有若干索引,索引也存放在存储文件中,存储文件及索引组成了关系数据库的内模式。,SQL语句基本知识,主要由以下三个部分组成: 1. 数据定义语言(Data Definition Language简称DDL)用于定义、撤销和修改数据模式。 2.数据操纵语言(Data Manipulation Language简称DML),主要包括两部分: (1) 数据查询语言(Query Language简称QL),用于进行数据查询; (2) 数据更新语言,用于增加、删除和修改数据。

4、 3. 数据控制语言(Data Control Language简称DCL),用于对数据访问权限的控制完整性描述事务控制等。,SQL语句基本知识,4.1.4 SQL语言的基本数据类型,SQL语句基本知识,4.2 数据定义,4.2.1 基本表的操作,1. 定义基本表,定义基本表的语句格式如下: CREATE TABLE(列级完整性的约束 , 列级完整性的约束 ,);,SQL语句基本知识,说明: (1)是所要定义的基本表的名字,它可以由一个或多个属性(列)组成。 (2)列级完整性的约束主要有:NOT NULL,就是规定一个属性的值不允许为空值,省略则表示可以允许该属性的值为空值; (3)完整性约束

5、主要有以下三种子句: 主键子句(PRIMARY KEY); 检查子句(CHECK); 外键子句(FOREIGN KEY)。,SQL语句基本知识,例4-1:建立一个 “图书”表,它由图书编号B#、书名Title、作者Author、图书分类号T#、出版社编号P#、单价Price、复本数量CopyNumber、库存量Stocks、日罚金Fine、是否新书IsNew十个属性组成。其中图书编号、出版社编号不能为空,且图书编号的值是唯一的。,SQL语句基本知识,CREATE TABLE Book ( B# CHAR(6) NOT NULL, Title CHAR(60), Author CHAR(30),

6、 BookType CHAR(2), P# CHAR(2) NOT NULL, Price NUMERIC(9), CopyNumber SMALLINT, Stocks SMALLINT, Fine NUMERIC(9), Isnew BIT, PRIMARY KEY(B#),SQL语句基本知识,2. 修改基本表,修改基本表的语句格式如下: ALTER TABLE ADD完整性约束 DROP MODIFY;,说明: (1)是要修改的基本表; (2)ADD子句用于增加新列和新的完整性约束条件; (3)DROP子句用于删除指定的完整性约束条件; (4)MODIFY子句用于修改原有的列定义,包括修

7、改列名和数据类型。,SQL语句基本知识,例4-2:将图书表Book的“复本数量”列的数据类型由短整型改为长整型。,ALTER TABLE Book MODIFY (ALTER COLUMN) CopyNumber INTCopyNumber INT 注:要用ALTER COLUMN,3. 删除基本表,删除基本表的语句格式如下: DROP TABLE,说明: 一个基本表一旦被删除后,这个表的所有数据都将被删除掉。因此,执行删除基本表的操作一定要格外小心。,SQL语句基本知识,例4-3:删除图书表Book。,DROP TABLE Book,4.2.2 索引的建立与删除,1.建立索引,CREATE

8、UNIQUE CLUSTER INDEX ON( ,次序2);,SQL语句基本知识,说明: (1)是要建索引的基本表的名字; (2)索引可以建立在该表的一列或多列上,各列名之间用逗号隔开; (3)规定了索引值的排列次序,可为升序(ASC)或降序(DESC),缺省值为ASC; (4)UNIQUE表示要建立的有一个索引值只对应唯一的数据记录,所以,如选择此项,则相应的列一定是主关键字; (5)CLUSTER表示要建立的索引是聚簇索引。,SQL语句基本知识,例4-4:为图书表Book、借阅人表Reader建立索引。其中Book表按图书编号升序建唯一索引,Reader表按读者编号降序建唯一索引。,CR

9、EATE UNIQUE INDEX Book_Index ON Book(B#) CREATE UNIQUE INDEX Reader_Index ON Reader(R# DESC),2.删除索引 删除索引的语句格式如下: DROP INDEX ; 例4-5:删除Book表的Book_Index索引。 DROP INDEX Book_Index,SQL语句基本知识,4.3 数据查询,4.3.1 SELECT语句的一般格式,SELECT DISTINCT , FROM ,基本表名2或视图名2 WHERE GROUP BY HAVING ORDER BY ASC | DESC,SQL语句基本知识

10、,说明: 1. SELECT子句指定了查询的列,可以是: (1) *; (2) 表中的列名; (3) 表达式;,2. FROM子句指定了被查询的基本表或视图;,SQL语句基本知识,3. WHERE子句说明查询的条件,可使用下列操作符: (1) 算术比较运算符:,=,; (2) 逻辑运算符:AND,OR,NOT; (3) 集合运算符:UNION(并),INTERSECT(交),EXCEPT(差); (4) 集合成员资格运算符:IN,NOT IN; (5) 谓词:EXISTS(存在量词),ALL,ANY,UNIQUE; (6) 集合函数:COUNT(计数),SUM(求和),AVG(平均值),MAX

11、(最大值),MIN(最小值); (7) 还可以是另外一个SELECT语句(即SELECT语句可以嵌套)。,SQL语句基本知识,4. SELECT和FROM子句是每个SQL语句所必需的,其它子句是任选的,整个语句的含义是:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表; 5. 若有GROUP子句,则结果按指定的分组产生结果表中的一个元组,通常在每组中还可以通过HAVING作用库函数,当查询结果分组输出时,只输出满足条件的组; 6. 若有ORDER子句,则结果要根据指定的按升序或降序排序。,S

12、QL语句基本知识,下面以图书-借阅人数据库为例来说明SELECT语句的各种用法。图书-借阅人数据库包括六个表。 (1).图书表 Book(B#, Title, Author, BookType, P# ,Price, CopyNumber, Stocks, Fine, IsNew) Book由图书编号(B#)、书名(Title) 、作者(Author)、 图书分类(BookType) 、出版社(P#)、单价(元)(Price) 、复本数量(CopyNumber)、 库存量(Stocks) 、日罚金(元)(Fine) 、是否新书(IsNew)十个属性组成,其中B#为主键, P#为外键。 (2).

13、借阅卡表 Card(C#, R#) Card由借阅卡编号(C# )、 读者编号(R#)两个属性组成,其中C#为主键, R#为外键。,SQL语句基本知识,(3).借阅人表 Reader(R#, Name, IsStudent, Password, Borrowed, Email, PhoneNumber) Reader由学生编号(R# )、姓名(Name)、是否学生(IsStudent)、密码(Password)、已借数量(Borrowed)、Email地址(Email)、电话号码(PhoneNumber)七个属性组成,其中R#为主键。 (4).借阅表 Lending(L#,R#, B#, Bo

14、rrowingDate, IsRenewed, RenewingDate, IsReturned, ReturningDate) Lending由流水号(L#)、借阅人编号(R#)、图书编号(B# ) 、借阅日期(BorrowingDate) 、是否续借(IsRenewed ) 、续借日期(RenewingDate) 、是否,SQL语句基本知识,已归还(IsReturned) 归还日期(ReturningDate)八个属性组成,其中L#、R#、B#为联合主键。 (5).出版社表 Publisher (P#, Publisher) Publisher由编号(P# )、出版社名(Publisher

15、) 两个属性组成,其中P#为主键。 (6).图书分类表 Type(T#,Type) Type由编号(T#)、分类号(Type) 两个属性组成,其中T#为主键。,SQL语句基本知识,4.3.2 单表查询,1.查询全部列 把表中的所有属性列都选出来,可以有两种方法: (1)就在SELECT关键字后面列出所有属性列名; (2)可以在SELECT关键字后面用*,此时属性列名 的显示顺序与其在基本表中的顺序相同。,例4-6:查询图书馆中所有图书的详细记录。,SELECT * FROM Book,SQL语句基本知识,等价于: SELECT B#, Title, Author, BookType, P#,

16、Price, CopyNumber, Stocks, Fine, IsNew FROM Book,2.查询部分列 可以通过在SELECT关键后面列出用户要查询的属性列后,属性列名的显示顺序可以根据用户需要来指定。,例4-7:查询图书馆中所有图书的书号与书名。,SELECT B#,Title FROM Book,SQL语句基本知识,3.查询某些列的不同元组 两个本来不完全相同的元组,投影到指定的某些列上后,可能变成相同的行。为了去掉结果表中相同的行,可以在SELECT关键字后加DISTINCT关键字。,例4-8:查询借了图书的借阅者编号。,SELECT R# FROM Lending,假设查询的

17、结果为:,SQL语句基本知识,该查询结果中包含了很多重复的行,用下面的查询语句可以去掉重复的行。 SELECT DISTINCT R# FROM Lending,4.查询满足条件的元组,可以通过WHERE子句实现,WHERE子句常用的查询条件如右表所示。,SQL语句基本知识,(1)比较大小 常用的比较运算符有: (大于)、=(大于等于)、=(等于)、(不等于) 例4-9:查询图书馆中出版社编号为01出版的所有图书的书名。,SELECT Title FROM Book WHERE P#=01,SQL语句基本知识,(2)确定集合 用IN(NOT IN)来查找属性值属于(不属于)指定集合 的元组。

18、例4-11:查询图书馆中出版社编号为01、02、03出版的图书书名和单价。,SELECT Title, Price FROM Book WHERE P# IN (01, 02, 03),(3)确定范围 用BETWEENAND(NOT BETWEENAND)来查找属性值在(不在)指定范围内的元组。 例4-12:查询图书馆中单价在2430元(包括24元和30元)之间的图书的书名和单价。,SQL语句基本知识,SELECT Title,Price FROM Book WHERE Price BETWEEN 24 AND 30,(4)字符匹配 用LIKE来实现字符的匹配。 其语句格式为: NOT LIK

19、E ,说明: 可以包含有通配符%和_,其中: %(百分号):代表任意长度(可以为零)的字符串; _(下横线):代表任意单个字符(或汉字)。,SQL语句基本知识,例4-13:查询图书馆中所有以“数据库系统”五个字开头的图书书名和编号。 SELECT Title,B# FROM Book WHERE Title LIKE 数据库系统% 例4-14:查询图书馆中所有以“数据库系统”开头且全名为7个汉字的图书书名。 SELECT Title FROM Book WHERE Title LIKE 数据库系统_ _,SQL语句基本知识,(5)空值的查询 用NULL来判断 例4-15:查询缺少成绩的学生学号

20、及课程号。 SELECT S#,C# FROM SC WHERE Grade IS NULL,(6)组合条件的查询 用AND和OR来连接多个查询条件,其中AND的优先级高于OR。不过,用户可以用括号来改变优先级。 例4-16:查询图书馆中出版社编号为02出版的且单价在25元以下的图书书名及编号。,SQL语句基本知识,SELECT Title,B# FROM Book WHERE P#=02 and Price25,5.分组查询 用GROUP BY 子句实现,将查询结果表按某一列或多列值分组,值相等的为一组。 例4-17:统计图书馆中各个出版社出版的图书数量。 SELECT P#,COUNT(B

21、#) FROM Book GROUP BY P#,SQL语句基本知识,6.排序查询 用ORDER BY子句实现,将查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列,缺省则为升序。 例4-18:查询图书馆中图书的基本情况,查询结果按单价降序排列。 SELECT * FROM Book ORDER BY Price DESC,SQL语句基本知识,7.属性列运算查询 可以用几种基本的算术运算符来查询数据。 常用的有: +(加)、-(减)、*(乘)、/(除)。 例4-19:查询图书馆中所有图书书名、编号及借出的数量。 SELECT Title,B#,CopyNumber-Stocks

22、 FROM Book,SQL语句基本知识,8.别名查询 (1)属性 在查询输出的列名与基本表中列名不一致时,可以根据用户的需要,用“旧属性名 AS 新名”形式来完成该操作; (2)关系 有时,一个表在查询语句中被多次调用时,为了区别不同的调用,应用“表名 AS 新表名”形式给每次使用标上不同的名字。 例4-20:查询借了图书编号为0001和0002的借阅者编号。 SELECT X.R# FROM LENDING AS X, LENDING AS Y WHERE X.R#=Y.R# AND X.B#=0001 AND Y.B#=0002,SQL语句基本知识,SELECT X.R# FROM Le

23、nding X INNER JOIN Lending Y ON X.R# = Y.R# WHERE (X.B# = 0001 ) AND (Y.B# = 0002 ),4.3.3 多表查询 1.无条件多表查询 无条件多表查询是将各表的记录以“笛卡尔积”的方式组合起来。 2.等值多表查询 当连接两个表或两个以上的条件为比较运算符的“=”时,称为等值连接。,SQL语句基本知识,例4-21:查询图书馆中每本图书及其出版社的情况。SELECT Book.*, Publisher.* FROM Book,Publisher WHERE Book.P#=Publisher.P#,3.非等值多表查询 当连接

24、两个表或两个表以上的条件为比较运算符“,=,”,称为非等值连接。,4.组合条件多表查询 在连接查询中,WHERE子句中有多个连接条件时,称为组合条件多表查询。 例4-22:查询中南大学出版社出版的且单价在25元以下的所有图书。,SQL语句基本知识,SELECT Book.* FROM Book INNER JOIN Publisher ON Book.P# = Publisher.P# WHERE (Publisher.PUBLISHER = 中南大学出版社 ) AND (Book.Price 25),4.3.4 嵌套查询 1.带IN的嵌套查询 IN运算符可以测试表达式的值是否与子查询返回集中

25、的某一个相等。 例4-23:查询图书馆中中南大学出版社出版的图书编号、书名及单价。,SQL语句基本知识,SELECT B#, Title, Price FROM Book WHERE (P# IN (SELECT P# FROM Publisher WHERE Publisher = 中南大学出版社),2.带ANY的嵌套查询 将表达式的值与查询返回集中的任一值相比较,只要其中有一个满足条件就返回TRUE。 例4-24:查询图书馆中比出版社编号为01某一本书单价低的书号、书名及单价。,SQL语句基本知识,SELECT B#, Title, Price FROM Book WHERE (Price

26、 ANY (SELECT Price FROM Book WHERE P# = 01),3.带ALL的嵌套查询 将表达式的值与查询返回集中的所有值相比较,只有所有值都满足条件才返回TRUE。 例4-25:查询图书馆中比出版社编号为01的所有书的单价低的书号、书名及单价。,SQL语句基本知识,SELECT B#,Title,Price FROM Book WHERE PriceALL(SELECT Price FROM Book WHERE P#=01),4.带比较运算符的嵌套查询 例4-26:查询图书馆中中南大学出版社出版的图书编号、书名及单价。,SQL语句基本知识,SELECT B#,Tit

27、le,Price FROM Book WHERE P#= (SELECT P# FROM Publisher WHERE Publisher=中南大学出版社),5.带EXISTS的嵌套查询 EXISTS表示一个子查询至少返回一行时条件成立。 例4-27:查询图书馆中中南大学出版社出版的图书编号、书名及单价。,SQL语句基本知识,SELECT B#,Title,Price FROM Book WHERE EXISTS (SELECT * FROM Publisher WHERE P#=Book.P# AND Publisher=中南大学出版社),4.3.5 集合查询 集合操作主要包括并、交、差等

28、操作,标准SQL中只提供了并操作,没有直接提供交、差操作,但可以用其它来办法来实现。,SQL语句基本知识,1.并操作的嵌套查询 例4-28:查询图书馆中出版社编号为01出版及单价不大于25元的图书。 SELECT * FROM Book WHERE P# = 01 UNION SELECT * FROM Book WHERE Price = 25,SQL语句基本知识,2.交操作的嵌套查询 例4-29:查询图书馆中出版社编号为01出版与单价不大于25元的图书的交集。等价于:查询出版社编号为01出版且单价不大于25元的图书。 SELECT * FROM Book WHERE (P# = 01) A

29、ND (Price = 25),SQL语句基本知识,3.差操作的嵌套查询 例4-30:查询图书馆中出版社编号为01出版与单价不大于25元的图书的差集。等价于:查询出版社编号为01出版与单价大于25元的图书。 SELECT * FROM Book WHERE P#=01 AND Price25,SQL语句基本知识,4.3.6 函数查询,1.COUNT函数 用来统计一个表中有多少条记录 例4-31:查询图书馆中图书总数。 SELECT COUNT(*) FROM Book,2.SUM函数 用来计算字段值的和 例4-32:计算所有图书的总金额。 SELECT SUM(Price) FROM Book

30、,SQL语句基本知识,3.AVG函数 用来求某个字段所有值的平均值 例4-33:计算图书馆中所有图书的单价的平均值。 SELECT AVG(Price) FROM Book,4.MAX函数 用来求某一列中值的最大值。 例4-34:查询图书馆中单价最贵的图书。 SELECT MAX(Price) FROM Book,SQL语句基本知识,5.MIN函数 用来求某一列中值的最小值。 例4-35:查询图书馆中单价最低的图书。 SELECT MIN(Price) FROM Book,4.4 数据更新 4.4.1 插入数据,1.插入单个元组 插入单个元组的INSERT语句的格式为: INSERT INTO

31、(,) VALUES(,);,SQL语句基本知识,说明: (1)其功能是将新元组插入指定表中; (2)其中新记录属性列1的值为常量1,属性列2的值为常量2,。 INTO子句中没有出现的属性列,新记录在这些列上将取空值; (3)在表定义时说明了NOT NULL的属性列不能取空值。否则会出错; (4)如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值。,SQL语句基本知识,例4-36:将一个新借阅人记录(读者编号:0006,姓名:李冬,是否学生:否,密码:111111,已借阅数量:0,Email:,PhoneNumber:07332622200)插入到Reader表中。 I

32、NSERT INTO Reader VALUES(0006,李冬,否,111111,0 ,07332622200),2.插入子查询结果 子查询不仅可以嵌套在SELECT语句中,用以构造父查询的条件,也可以嵌套在INSERT语句中,用以生成要插入的批量数据。,SQL语句基本知识,插入子查询结果的INSERT语句的格式为: INSERT INTO(,) 子查询;,例4-37:求图书馆中每个出版社的图书总数,并把结果存入数据库。 CREATE TABLE BookNumber (P# CHAR(2), Book_sum INT),SQL语句基本知识,然后对出版社分组求图书总数,再把出版社编号和图书总

33、数存入新表中。 INSERT INTO BookNumber(P#, Book_Sum) SELECT P#, COUNT(B#) FROM Book GROUP BY P#,4.4.2 删除数据 删除数据的语句格式如下: DELETE FROM WHERE;,SQL语句基本知识,说明: 1. DELETE语句的功能是从指定表中删除满足WHERE子句条件的所有元组; 2. 如果省略WHERE子句,表示删除表中全部元组,但表的定义仍在字典中; 3. DELETE语句删除的是表中的数据,而不是关于表的定义。 例4-38:删除图书编号为0003的图书记录。 DELETE FROM Book WHER

34、E B#=0003,SQL语句基本知识,4.4.3 修改数据 修改数据的语句格式如下: UPDATE SET=,= WHERE;,说明: (1)其功能是修改指定表中满足WHERE子句条件的元组; (2)SET子句给出的值用于取代相应的属性列值; (3)如果省略WHERE子句,则表示要修改表中的所有元组。,SQL语句基本知识,例4-40:将图书馆中图书编号为0002的单价改为30元。 UPDATE Book SET Price=30 WHERE B#=0002 例4-41:将图书馆中所有图书的复本数量增加1。 UPDATE Book SET CopyNumber=CopyNumber+1,SQL

35、语句基本知识,4.5 视图管理 4.5.1 视图的基本概念,1.视图的简介,视图是由基表或其他视图导出的虚表,只在数据字典中保留其逻辑定义,而基表是实际存储在数据库中的。视图由用户定义,并为用户所使用,视图一经定义,对它的操作就如同基表一样,用户可在基表上进行操作,也可在视图上进行操作,在视图上进行的操作交由DBMS转化为对相应基表的操作。 视图既是表,但又不同于基表。视图与表的最大区别是表包含实际的数据,并消耗物理存储,而视图不包含数据,且除了需要存储提供视图定义的查询语句外,不需要其他存储。,SQL语句基本知识,2.视图的作用,(1)视图提供了逻辑数据独立性 (2)简化了用户观点 (3)数

36、据的安全保护功能,4.5.2 视图的基本操作,1.定义视图 定义视图的语句格式如下: CREATE VIEW ( ,) AS子查询 WITH CHECK OPTION,SQL语句基本知识,说明: (1)是要建的视图名称; (2)子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY子句和DISTINCT短语; (3)WITH CHECK OPTION表示对视图进行UPDATE、INSERT和DELETE操作时要保证修改、插入和删除的记录满足视图定义中的子查询中的条件表达式。,例4-42:建立出版社编号为02的图书的视图。 CREATE VIEW HEP_Book AS SEL

37、ECT B#, Title, Price FROM Book WHERE P# = 02,SQL语句基本知识,2.删除视图 删除视图的语句格式如下: DROP VIEW; 说明: 视图被删除后,其定义将从数据字典中删除。,例4-43:删除视图HEP_Book。 DROP VIEW HEP_Book,3.查询视图 在SQL中,视图一经定义后,用户对视图的查询与对基本表的查询是一样的。,SQL语句基本知识,例4-44:在高等教育出版社的视图中找出单价小于30元的图书。 SELECT B#,Title FROM HEP_Book WHERE Price30,4.更新视图 视图的更新主要包括:INSE

38、RT、UPDATE和DELETE三类操作,执行上述操作时,必须遵循以下三条规则:,SQL语句基本知识,(1)如果一个视图是从多个关系使用联接连接操作导出的,那么不允许对这个视图执行更新操作。 (2)如果在导出视图的过程中,使用了分组和聚合操作,那么不允许对这个视图执行更新操作。 (3)如果视图是从单个关系使用选择、投影操作导出的,并且包含了关系的主键或多个候选键,那么这样的视图称为“行列子集视图”,并且可执行更新操作。,SQL语句基本知识,例4-45:将高等教育出版社视图HEP_Book中书名为数据库系统教程的单价改为28元。 UPDATE HEP_Book SET Price=28 WHER

39、E Title=数据库系统教程,4.6 数据控制 4.6.1 授予权限,授予权限的语句格式如下: GRANT, ON TO, WITH GRANT OPTION,SQL语句基本知识,说明: 1. 其功能是将对指定操作对象的指定操作权限授予指定的用户; 2. 对于不同类型的操作对象有不同的操作权限,常见的操作权限如下: (1) 对属性列和视图的操作权限有:查询(SELECT)、插入(INSERT)、修改(UPDATE)、删除(DELETE)以及这四种权限的总和(ALL PRIVILEGES); (2) 对基本表的操作权限有:查询(SELECT)、插入(INSERT)、修改(UPDATE)、删除(

40、DELETE)、修改表(ALTER)和建立索引(INDEX)以及这六种权限的总和(ALL PRIVILEGES);,SQL语句基本知识,(3) 对数据库可以有建立表(CREATETAB)的权限,该权限属于DBA,可由DBA授予普通用户,普通用户拥有此权限后可以建立基本表,基本表的属主(Owner)拥有对该表的一切操作权限; 3. 接受权限的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户; 4. 如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他的用户;如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。,SQL语句基本知识,例4-46:将对Book表的查询权限授给用户User1。 GRANT SELECT ON Book TO User1 例4-47:将对Book表的所有权限授给User2和User3。 GRANT ALL PRIVILE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论