文档介绍:第三章关系数据库标准语言SQL
SQL(Structured Query Language)是1974年由Boyce和Chamberlin提出的。在IBM公司San Jose Research Laboratory 研制的System R上实现了这种语言。由于它功能丰富、使用方式灵活、语言简洁易学等突出优点,在计算机工业界和计算机用户中倍受欢迎并深深扎根。1986年10月,美国国家标准局(ANSI)的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准。同年公布了标准SQL文本。此后不久,国际标准化组织(ISO)也作出了同样的决定。
本章介绍SQL语言, 并进一步讨论关系数据库的基本概念. SQL标准文本和实施的SQL语言相比,后者常常作了许多必要的扩充, ,而在对关系模型的符合程度上比标准SQL更好.
SQL 概述
SQL(Structured Query Language)的英文名称是结构查询语言。实际上它的功能包括查询(Query),操纵(Manipulation),定义(Definition)和控制(Control)四个方面,是一个综合的、通用的、功能极强的关系数据库语言。
SQL的主要特点
1. 综合统一
2. 高度非过程化
3. 面向集合的操作方式
4. 两种使用方式,统一的语法结构
5. 语言简洁,易学易用
(1).数据库查询 SELECT
(2). 数据定义 CREATE, DROP
(3). 数据操纵 INSERT, UPDATE, DELETE
(5). 数据控制 GRANT, REVOKE
SQL语言的基本概念
图 SQL对关系数据库模式的支持
SQL
View V1
View V2
Base table
B1
Base table
B2
Base table
B3
Base table
B4
Stored file
S1
Stored file
S2
外模式
模式
内模式
SQL 数据定义
SQL的数据定义功能包括三部分:定义基本表,定义视图和定义索引,他们是:
CREATE TABLE CREATE VIEW CREATE INDEX
DROP TABLE DROP VIEW DROP INDEX
ALTER TABLE
定义、删除和修改基本表
一. 定义基本表的语句
1. 格式:
CREATE TABLE <表名>(<列名1> <类型>[列级完整性约束条件]
[,<列名2><类型>[列级完整性约束条件]]…
[<表级完整性约束条件>]; )
2. 举例:
例1: P88
CREATE TABLE Student
(Sno CHAR(5) NOT NULL UNIQUE ,
Sname CHAR(20) UNIQUE ,
Ssex CHAR(1) ,
Sage INT
Sdept CHAR(15));
二. 修改基本表
1. 格式:
ALTER TABLE <表名>
[ADD <新列名><数据类型>[完整性约束]];
[DROP<完整性约束名>]
[MODIFY<列名><数据类型>];
例2:
ALTER TABLE Student ADD Scome date;
三. 删除基本表
1. 格式:
DROP TABLE <表名>;
例5: 删除Student表
ALTER TABLE Student ;
例3:
ALTER TABLE Student MODIFY Sage SMALLINT;
例4:
ALTER TABLE Student DROP UNIQUE(Sname);
建立与删除索引
通常索引的建立和删除由DBA(Dada Base Administrator)或表的主人负责.
CREATE [UNIQUE] [CLUSTER] INDEX<索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序.]]…) ;
:
例6:
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX o ON o);
CREATE UNIQUE INDEX SCno ON SC(Sno o DESC);
DROP INDEX <索引名>;
例7:删除Student表的Stusname索引.
DROP INDEX Stusname