第三章关系数据库标准查询语言SQL3.1SOL概述(DDL)3.2数据定义语言(DML)3.3SQL的数据查询3.4SOL的数据更新(DML)3.5视图3.6数据控制语言(DCL)3.7嵌入式SQL语言3.8存储过程*(T-SQL)
第三章 关系数据库标准查询语言SQL ⚫ 3.1 SQL概述 ⚫ 3.2数据定义语言(DDL) ⚫ 3.3 SQL的数据查询(DML) ⚫ 3.4 SQL的数据更新(DML) ⚫ 3.5视图 ⚫ 3.6数据控制语言(DCL) ⚫ 3.7嵌入式SQL语言 ⚫ 3.8 存储过程*(T-SQL)
3.1 SQL概述SQL(Standard/Structured Query Language)是关系数据库标准1986年10月,美国国家标准局(AmericanNational Standard Institute ANSI)公布第一个标准ANSIX3.135-1986,国际标准化组织(International Organization for StandardizationISO)也通过这一标准称SOL一861989年ANSI再次公布标准ANSIX3.135-1989,ISO相应SOL一891999年,ISO公布 SQL-1999(SQL99,SQL3)2003年,ISO公布SQL-2003
3.1 SQL概述 ⚫ SQL(Standard/Structured Query Language)是关系 数据库标准 ⚫ 1986年10月,美国国家标准局(American National Standard Institute ANSI)公布第一个标 准ANSI X3.135-1986,国际标准化组织 (International Organization for Standardization ISO)也通过这一标准称SQL-86 ⚫ 1989年ANSI再次公布标准ANSI X3.135-1989 , ISO 相应SQL-89 ⚫ 1999年,ISO公布 SQL-1999(SQL99,SQL3) ⚫ 2003年,ISO公布 SQL-2003
3.1.1SOL语言的组成数据定义(DDLData Definition/DescriptionLanguage )一定义数据库的逻辑结构,包括基本表、视图、索引等数据操纵(DML Data Manipulation Language)一包括查询和更新,更新又包含插入、删除和修改数据控制(DCL Data Control Language 一授权、完整性规则描述、事务控制等嵌入式SQL(ESQL)一在宿主语言中使用SQL的规则
3.1.1 SQL语言的组成 ⚫ 数据定义(DDL Data Definition/Description Language ) – 定义数据库的逻辑结构,包括基本表、视图、索引等 ⚫ 数据操纵(DML Data Manipulation Language) – 包括查询和更新,更新又包含插入、删除和修改 ⚫ 数据控制(DCL Data Control Language ) – 授权、完整性规则描述、事务控制等 ⚫ 嵌入式SQL(ESQL) – 在宿主语言中使用SQL的规则
3.1.2.SOL语言的特点综合统一:集DDL、DML、DCL于一体,语言风格统一面向集合的操作方式:操作对象、查询结果都可以是元组的集合高度非过程化:存取路进透明。以统一的语法结构提供两种使用方式:自含式、嵌入式语言简洁,易学易用,主要共使用11个关键词- DDL: create drop alter- DML: select insert delete update- DCL: grant revoke commit rollback
3.1.2 SQL语言的特点 ⚫ 综合统一:集DDL、DML、DCL于一体,语言 风格统一 ⚫ 面向集合的操作方式:操作对象、查询结果都 可以是元组的集合 ⚫ 高度非过程化:存取路进透明。 ⚫ 以统一的语法结构提供两种使用方式:自含式、 嵌入式 ⚫ 语言简洁,易学易用,主要共使用11个关键词 – DDL:create drop alter – DML:select insert delete update – DCL:grant revoke commit rollback
3.2数据定义语言(DDL)3.2.1定义、删除与修改基本表>定义基本表语法CREATE TABLE<表名>(<列名><数据类型>[列级约束条件Ⅱ,<列名><数据类型>[列级约束条件]......IⅡI,<表级完整性约束条件>J)例: CREATE TABLE S(S#CHAR(5)SNCHAR (20) NOT NULL UNIQUE,SA INT,SDCHAR(3)PRIMARY KEY (S#)
3.2数据定义语言(DDL) 3.2.1定义、删除与修改基本表 ➢ 定义基本表语法 CREATE TABLE <表名> (<列名><数据类型>[列级约束 条件][,<列名><数据类型>[列级约束条件]. .][,<表级完 整性约束条件>]) 例:CREATE TABLE S( S# CHAR(5) , SN CHAR(20) NOT NULL UNIQUE , SA INT, SD CHAR(3), PRIMARY KEY (S#) );