第六章
2017-01-01 18:48:40 0 举报
AI智能生成
第六章,夜幕降临,月光洒满了古老的城堡。城堡的主人,一位年迈的国王,坐在他的宝座上,眼神中闪烁着忧虑和疲惫。他的儿子,年轻的王子,站在他的身边,眼中充满了决心和勇气。他们正在讨论如何对抗即将到来的战争。城堡的大门突然被砸开,一群黑衣人闯入,他们是敌国的刺客。王子拔出剑,与刺客们展开了激烈的战斗。经过一番搏斗,王子成功击败了刺客,保护了他的父亲。国王看着儿子,眼中充满了骄傲和感激。他知道,他的儿子已经准备好继承他的王位,保卫他们的国家。
作者其他创作
大纲/内容
2.SQL系统结构
基本表
一个关系对应一个基本表
基本表对应存储文件
可以带若干个索引
存储文件
逻辑结构组成了内模式
物理结构是任意的,透明的
视图
一个或几个基本表导出
只放视图定义不存放视图具体数据
视图是虚表
可以在视图上再定义视图
4.数据查询
单表查询
select : 要查询的属性列
* 全部列
算术表达式、字符串常量、函数、列别名
聚集函数
计数COUNT
总和SUM
平均AVG
最大MAX
最小MIN
ALL/DISTINCT
AS
from:查询对象
where:查询条件
比较
确定范围 (NOT) BETWEEN AND
确定集合 (NOT) IN
字符匹配 (NOT) LIKE
通配符% _
ESCAPE '<换码字符>'
空值 IS (NOT) NULL
逻辑运算 AND OR NOT
group by:按指定列分组
使用该子句后,select后只能出现分组属性与聚集函数
having:筛选出满足指定条件的分组
order by:按指定列排序
升序 ASC
降序 DESC
连接查询
执行过程
嵌套循环法
排序合并法
索引连接
连接查询
等值连接 列名1=列名2
自然连接
自身连接
需要给表取别名
外连接 (LFET/RIGHT)OUT JOIN
复合条件连接
嵌套查询
子查询不能使用order by子句
分类
不相关子查询
相关子查询
谓词
IN
比较运算符 + ANY 或 ALL
可用聚集函数实现
EXISTS
子查询只返回真值或假值
实现全称量词
实现逻辑蕴涵
集合查询
并 UNION/UNION ALL
交 INTERSECT
差 EXCEPT
7.数据控制
概述
完整性控制
数据的正确性和相容性
安全性控制
存取控制、授权
并发控制
事务、事务开始、事务结束、提交
恢复
事务回滚(UNDO),重做(REDO)
授权
一般格式
数据库中建表的权限 CREATETAB
全部权限 all privieges
PUBLIC 表示所有用户
with grant option 获得权限的用户可再传播该权限
收回权限
一般格式
1.SQL简介
SQL = Structured Query Language
特点
综合统一
DDL+DML+DCL
操作符统一
高度非过程化
面向集合的操作方式
以同一种语法结构提供多种使用方式
既是独立的语言
又是嵌入式语言
语言简介,易学易用
3.数据定义
定义模式
创建 create schema
语句格式
删除 drop schema
cascade 级联
restrict 限制
定义表(模式)
创建 create table
列级完整性约束
primary key 主键
unique 唯一
表级完整性约束
foreign key ... references ... 外键
模式与表
定义基本表所属模式
显示给出:create table 模式名.表名
创建模式语句中同时创建表
设置所属模式
没有指定,根据搜索路径确定
显示搜索路径:SHOW search_path
默认搜索路径:$user, PUBLIC
设置搜索路径:SET search_path TO ...
删除 drop table
cascade 级联
restrict 限制
修改 alter table
语句格式
定义视图(外模式)
创建 create view
删除 drop view
定义索引(内模式)
创建 create index
语句格式
unique 索引值对应唯一数据记录
cluster 聚簇索引
删除 drop index
5.数据更新
插入数据
插入单个元组
INSERT INTO ... (...)VALUES(...)
插入子查询结果(一次插入多个)
INSERT INTO ... (...)子查询
修改数据
UPDATE ... SET ... WHERE ...
删除数据
DELETE FROM ... WHERE...
6.视图
定义视图
常见视图形式
行列子集视图
WITH CHECK OPTION的视图
增删改操作不得破坏子查询的条件表达式
基于多个基表的视图
基于视图的视图
带表达式的视图
分组视图
删除视图
查询视图
用户角度
与查询基本表相同
DBMS
视图实体化法
生成临时表
视图消解法
将生成视图的子查询与用户的查询条件结合
更新视图
有的视图不可更新
允许对行列子集视图更新
其他不同系统定义不同
视图作用
简化用户操作
使用户以多种角度看待同一数据
对重构数据库提供一定的逻辑数据独立性
对机密数据提供安全保护
适当利用视图可以更清晰的表达查询
8.嵌入式SQL
SQL通信区 SQLCA
一个数据结构
SQL执行后,RDBMS返回给应用程序的信息
定义SQLCA
EXEC SQL INCLUDE SQLCA
SQLCODE
主变量
分类
输入主变量
应用程序赋值,SQL引用
输出主变量
SQL赋值,返回给应用程序
输入输出主变量
指示变量
整型变量
指示主变量的值或条件
指示变量为-1时,其所指主变量认为是NULL
BEGIN DECLARE SECTION ... END DECLARE SECTION
SQL中主变量前加冒号:
游标
查询
DECLARE <游标名> CURSOR FOR <SELECT语句>
说明语句,不执行查询
OPEN <游标名>
执行查询,把满足条件的记录取到缓冲区
FETCH [NEXT|PRIOR|FIRST|LAST] <游标名 >INTO <主变量>
CLOSE <游标名>
更新
DECLARE <游标名> CURSOR FOR <SELECT语句> FOR UPDATE OF <列名>
OEPN、FETCH、CLOSE
<UPDATE语句> WHERE CURSOR OF <游标名>
删除
DECLARE <游标名> CURSOR FOR <SELECT语句> FOR DELETE
OEPN、FETCH、CLOSE
<DELETE语句> WHERE CURSOR OF <游标名>
建立和关闭数据库连接
动态SQL
语句
EXECUTE IMMEDIATE
PREPARE
EXECUTE
DESCRIBE
SQL语句主变量
动态参数
声明SQL语句主变量
PREPARE <语句名> FROM <SQL语句主变量>
EXECUTE <语句名> [INTO<主变量表>] [USING <主变量或常量>]
0 条评论
下一页