第三章关系数据库的标准语言SQL 3.1SQL概述 3.2数据定义语言 33数据更新语言 3.4数据查询语言 35数据控制语言 36嵌入式SQ 3.7事务处理 38触发器 39存储过程
3.1 SQL概述 3.2 数据定义语言 3.3 数据更新语言 3.4 数据查询语言 3.5 数据控制语言 3.6 嵌入式SQL 3.7 事务处理 3.8 触发器 3.9 存储过程 第三章 关系数据库的标准语言SQL
31SQL概述 SQL的发展历程 SQL语言1974年被提出,并首先在IBM公司研制的RDB原型系统 Sy stem R上实现。 1987年6月,国际标准化组织(IS0将其采纳为国际标准(称 “SQL86”)。 ·趋势:各种计算机(微机、小型机、大型机)上的DBS,都采用 SQL作为共同的数据存取语言和标准接口。成为不同DBS间互操 作的基础。 可预见,在未来一段相当长的时间内,SQL仍将是RDB的主流 语言,而且在知识发现、人工智能、软件工程等领域,也具有 广阔的应用前景。 食↓
• SQL语言1974年被提出,并首先在IBM公司研制的RDB原型系统 System R上实现。 • 1987年6月,国际标准化组织(ISO)将其采纳为国际标准(称 “SQL86”)。 • 趋势:各种计算机(微机、小型机、大型机)上的DBS,都采用 SQL作为共同的数据存取语言和标准接口。成为不同DBS间互操 作的基础。 • 可预见,在未来一段相当长的时间内, SQL仍将是RDB的主流 语言,而且在知识发现、人工智能、软件工程等领域,也具有 广阔的应用前景。 SQL的发展历程 3.1 SQL概述
sQL的组成与功能 (1)数据定义语言(DDL) 用来定义RDB的模式基本表、外模式和内模式,以实现对基本表、视图以及索 引文件的定义、修改和删除等操作。 (2)数据操纵语言(DML) 数据查询:对DB中的数据查询、统计、分组、排序等操作; 数据更新:数据的插入、删除、修改等数据维护操作。 (3)数据控制语言(DCL) 数据控制包括对基本表和视图的授权,完整性规则的描述等。 (4)嵌入式SQL 规定了SL语句嵌入在宿主语言程序中使用的各种规则。 sQL的命令动词表: sQL的功能 命令动词 数据定义(数据模式定义、删除、修改) cREATE,DRP, ALTER 数据操纵(数据查询和维护) SELECT, INSERT, UPDATE, DELETE 数据控制(数据存取控制授权和收权) GRANT, REVOKE
⑴ 数据定义语言( DDL ) • 用来定义RDB的模式基本表、外模式和内模式,以实现对基本表、视图以及索 引文件的定义、修改和删除等操作。 ⑵ 数据操纵语言( DML ) • 数据查询:对DB中的数据查询、统计、分组、排序等操作; • 数据更新:数据的插入、删除、修改等数据维护操作。 ⑶ 数据控制语言( DCL ) • 数据控制包括对基本表和视图的授权,完整性规则的描述等。 ⑷ 嵌入式SQL • 规定了SQL语句嵌入在宿主语言程序中使用的各种规则。 SQL的组成与功能 SQL的命令动词表:
SQL语言的特点 1.一体化:SαL集数据定义语言(DDL)、数据操纵语ˉ (DML)和数据控制语言(DCL)为一体。 2两种使用方式:自含式和嵌入式 自含式SQL:能够独立地进行联机交互,用户只需 在终端键盘上直接键入SQL命令就可以对DB进行操作; 嵌入式SαL:能够嵌入到高级语言,如C、 COBOL、 FORTRAN、門L/1程序中来实现对DB的数据存取操作,给 程序员设计应用程序提供了很大的方便。 3高度非过程化:只要求用户提出“干什么”,而无需指 出“怎么干”;SQL语句操作的过程由系统自动完成
SQL语言的特点 1.一体化:SQL集数据定义语言(DDL)、数据操纵语言 (DML)和数据控制语言(DCL)为一体。 2.两种使用方式:自含式和嵌入式 自含式SQL:能够独立地进行联机交互,用户只需 在终端键盘上直接键入SQL命令就可以对DB进行操作; 嵌入式SQL:能够嵌入到高级语言,如C、COBOL、 FORTRAN、PL/1程序中来实现对DB的数据存取操作,给 程序员设计应用程序提供了很大的方便。 3.高度非过程化:只要求用户提出“干什么”,而无需指 出“怎么干”;SQL语句操作的过程由系统自动完成
SQL语言基础 S①L也有自己的数据类型、表达式、关键字和语句结构。当然和其他语言 相比,SQL语言要简单的多 1.数据类型: 标准SQL语言定义的数据类型 类型 定义 说明 INT, SMALLINT 定点整数 数值型 NUMERIC, DECIMAL 定点小数 FLOAT,REAL等 浮点数 CHAR (n) 定长字符串,n<255 字符串型 VARCHAR(n) 不定长字符串,长度不超过n个字符 日期、时间型DATE 日期 TIME 「时间型 TIMES TAMP 日期时间型 二进制位串BIT(n) 定长二进制位串 BITVAR (n) 变长二进制位串
SQL语言基础 • SQL也有自己的数据类型、表达式、关键字和语句结构。当然和其他语言 相比,SQL语言要简单的多 类型 定义 说明 INT,SMALLINT 定点整数 数值型 NUMERIC,DECIMAL 定点小数 FLOAT,REAL 等 浮点数 CHAR(n) 定长字符串,n<255 字符串型 VARCHAR(n) 不定长字符串, 长度不超过 n 个字符 DATE 日期 TIME 时间型 日期、时间型 TIMESTAMP 日期时间型 二进制位串 BIT(n) 定长二进制位串 BITVAR(n) 变长二进制位串 标准SQL语言定义的数据类型 1.数据类型: