设为首页 加入收藏

TOP

关系数据库SQL语言简介(二)
2015-11-21 03:26:29 来源: 作者: 【 】 浏览:22
Tags:关系 数据库 SQL 语言 简介
等价的转换关系

谓词 语义 等价转换关系
>ANY 大于子查询结果中的某个值 >MIN
>ALL 大于子查询结果中的所有值 >MAX
小于子查询结果中的某个值
小于子查询结果中的所有值
>=ANY 大于等于子查询结果中的某个值 >=MIN
>=ALL 大于等于子查询结果中的所有值 >=MAX
<=ANY 小于等于子查询结果中的某个值 <=MAX
<=ALL 小于等于子查询结果中的所有值 <=MIN

<>ANY

不等于子查询结果中的某个值

-

<>ALL 不等于子查询结果中的任何一个值 NOT IN
=ANY 等于子查询结果中的某个值 IN
=ALL 等于子查询结果中的所有值 -
?
6.分组查询
?
1)GROUP BY 子句
?
在 WHERE 子句后面加上 GROUP BY 子句可以对元组进行分组,保留字 GROUP BY 后面跟着一个分组属性的列表。最简单的情况是,FROM 子句后面只有一个关系,根据分组属性对它的元组进行分组。SELECT 子句中使用的聚集操作符仅用在每个分组上。
?
2)HAVING 子句
?
假如元组在分组前按照某种方式加上限制,使得不需要的分组为空,可以在GROUP BY子句后面跟一个HAVING 子句即可。
?
注意,当元组含有空值时,需要注意:
?
第一,空值在任何聚集操作中被忽视。它对求和、求平均值和计数都没有影响。它也不能是某列的最大值或最小值。
?
第二,NULL值又可以在分组属性中看做是一个一般的值。
?
7.更名运算
?
SQL 提供可为关系和属性重新命名的机制,这是通过使用具有如下形式的 AS 子句来实现的
Old-name AS new-name
?
AS 子句即可出现在SELECT 子句,也可出现在 FROM 子句中。
?
8.字符串操作
?
对于字符串进行的最通常的操作是使用操作符 LIKE 的模式匹配。使用两个特殊的字符来描述模式:“%”匹配任意字符串;“_”匹配任意一个字符。模式是大小写敏感的。
?
“__”匹配只含两个字符的字符串;“_%”匹配至少包含两个字符的字符串。
?
为了使模式中包含特殊模式字符(即%和_),在SQL中允许使用 ESCAPE 关键词来定义转义符。转义字符紧靠着特殊字符,并放在它的前面,表示该特殊字符被当成普通字符。例如使用反斜杠“\”作为转义符。
?
LIKE 'ab\%cd%' ESCAPE '\'//匹配所有以ab%cd开头的字符串
LIKE 'ab\\cd%' ESCAPE '\'//匹配所有以ab\cd开头的字符串
?
9.视图的查询
?
系统执行视图查询语句时,通常先将其转换成等价的对基本表的查询,然后执行查询语句。即当查询视图时,系统先从数据字典中取出该视图的定义,然后将定义中的查询语句和对该视图的查询语句结合起来,形成一个修正的查询语句。
?
SQL数据更新
?
1.插入语句
?
要在关系数据库中插入数据,可以指定被插入的元组,或者用查询语句选出一批待插入的元组。语句格式:
?
INSERT INTO <基本表名> [(字段名[,字段名]...)]
? ?VALUES (常量[,常量]...);
?
INSERT INTO <基本表名> (字段名[,字段名]...)
? ?SELECT 查询语句;
?
2.删除语句
?
语句格式:
?
DELETE FROM <基本表名>
[WHERE 条件表达式];
?
3.修改语句
?
语句格式:
?
UPDATE <基本表名>
SET <列名>=<值表达式>[,<列名>=<值表达式>...]
[WHERE <条件表达式>];
?
SQL的访问控制
?
访问控制是指对数据访问数据的控制,有授权语句和收回权限语句。
?
1.授权的语句格式
?
GRANT <权限> [,<权限>]...
[ON <对象类型><对象名>]
TO <用户> [,<用户>]...
[WITH GRANT OPTION];
?
注意:不同类型的操作对象有不同的操作权限,常见的操作权限见表4。

表4 常见的操作权限

对象 对象类型 操作权限
属性列 TABLE SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGES(四种权限的总和)
视图 TABLE SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGES(四种权限的总和)
基本表 TABLE

SELECT, INSERT, UPDATE, DELETE, ALTER, INDEX,

ALL PRIVILEGES(六种权限的总和)

数据库 DATABASE CREATEAB 建立表的权限,可由 DBA 授予普通用户
?
说明:
?
接受权限的用户可以是单个或者多个具体的用户,也可以是 PUBLIC, 即全体用户。
?
若指定了 WITH GRANT OPTION 子句,则获得了某种权限的用户还可以将此权限赋给其他用户。
?
2.收回权限语句格式
?
REVOKE <权限> [,<权限>]...
[ON <对象类型> <对象名>]
FROM <用户> [,<用户>]...;
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇CentOSOracle报Environmentvariab.. 下一篇由最近修改的一个报表想到的

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: