文档介绍:关系数据库标准语言SQL
提纲
SQL概述
数据定义
数据查询
数据更新
视图
数据控制
3
1
关系数据库标准语言SQL
SQL概述
SQL语言也叫结构化查询语言(Structured Query Language),是一种介于关系代数与关系演算之间的语言。
其功能包括:数据定义、数据查询、数据操作和数据控制四个方面,是一个通用的、功能很强的关系数据库语言。
3
2
关系数据库标准语言SQL
SQL概述(续)
SQL语言
扩展SQL语言
3
3
关系数据库标准语言SQL
数据定义
SQL数据定义功能包括定义基本表、定义视图和定义索引等
3
操作对象
操作方式
创建
删除
修改
基本表
CREATE TABLE
DROP TABLE
ALTER TABLE
视图
CREATE VIEW
DROP VIEW
索引
CREATE INDEX
DROP INDEX
4
关系数据库标准语言SQL
数据定义(续)
基本表定义
CREATE TABLE 〈表名〉
(列名1 数据类型[列级完整性约束条件],
列名2 数据类型[列级完整性约束条件],
……
列名N 数据类型[列级完整性约束条件]
[表级完整性约束条件])
说明:
(1)其中表名是要定义的基本表的名称。一个表可以由一个或多个属性列组成。
(2)创建表时通常还可以定义与该表有关的完整性约束条件。完整性约束条件被存入系统的数据字典中。当用户对表中的数据进行更新操作(插入和修改)时,DBMS会自动检查该操作是否违背这些约束条件。如果完整性约束条件涉及表的多个属性列,则必须定义在表级上,否则既可以定义在列级,也可以定义在表级。
3
5
关系数据库标准语言SQL
数据定义(续)
基本表定义(续)
Oracle支持标准SQL语言,但在很多方面进行了扩展,如对CREATE TABLE语句,Oracle增加了对存储参数的控制。Oracle创建表的常用语法为:
CREATE TABLE [方案.]〈表名〉
(列名1 数据类型[列级完整性约束条件],
列名2 数据类型[列级完整性约束条件],
……
列名N 数据类型[列级完整性约束条件]
[表级完整性约束条件])
[PCTFREE integer]
[PCTUSED integer]
[TABLESPACE 表空间]
[STORAGE(
[INITIAL integer]
[NEXT integer]
[MINEXTENTS integer]
[MAXEXTENTS integer]
[PCTINCREASE integer]
)]
3
6
关系数据库标准语言SQL
数据定义(续)
基本表定义(续)
例3-1 在Oracle中用SQL命令创建图书信息表、读者信息表和借阅表。
(1)创建图书信息表。
CREATE TABLE book
(bookid VARCHAR2(20) PRIMARY KEY,
bookname VARCHAR2(60) NOT NULL,
editor VARCHAR2(8),
price NUMBER(5,2),
publish VARCHAR2(30),
pubdate DATE,
qty NUMBER(5))
3
7
关系数据库标准语言SQL
数据定义(续)
基本表定义(续)
(2)创建读者信息。
CREATE TABLE reader
(cardid VARCHAR2(10) PRIMARY KEY,
name VARCHAR2(8),
sex VARCHAR2(2) CHECK(sex IN(‘男’,’女’)),
dept VARCHAR2(20),
class NUMBER(1))
3
8
关系数据库标准语言SQL
数据定义(续)
基本表定义(续)
(3)创建借阅表。
CREATE TABLE borrow
(bookid VARCHAR2(20),
cardid VARCHAR2(10),
bdate DATE NOT NULL,
sdate DATE,
PRIMARY KEY(bookid,cardid,bdate),
CONSTRAINT FK_bookid FOREIGN KEY(bookid) REFERENCES book(bookid),
CONSTRAINT FK_cardid FOREIGN KEY(cardid) REFERENCES reader (cardid))
3
9
关系数据库标准语言SQL
数据定义(续)
修改基本表
SQ