文档介绍:第3章关系数据库标准语言SQL
SQL概述
数据定义
数据查询
数据更新
视图
数据控制
SQL概述
SQL语言是1974年由BOYCE和CHAMBERLIN提出的。1975年至1979年IBM公司SANJOSE RESEARCH LABORATORY研究的关系数据库管理系统原型系统SYSTEM R实现了这种语言,由于它功能丰富,语言简洁,使用方便,被众多计算机公司和软件公司所采用,经各公司不断修改、扩充和完善,SQL语言最终发展为关系数据库的标准语言。
返回首页
尽管ASNI和ISO已经针对SQL制定了一些标准,但标准SQL语言只能完成数据库的大部分操作,不适合为关系数据库编写各种类型的程序,各家厂商针对其各自的数据库软件版本做了某些扩充和修改,一般都根据需要增加了一些非标准的SQL语言。经扩充后的SQL语言称为扩展SQL语言。
返回本节
数据定义
返回首页
SQL数据定义功能包括定义基本表、定义视图和定义索引等,如表3-1所示。由于视图是基于基本表的虚表,索引是基于基本表的,因此SQL通常不提供修改视图和索引语句,用户如果要修改视图或索引,只能先将它们删除,然后重新创建。
操作对象
操作方式
创建
删除
修改
基本表
CREATE TABLE
DROP TABLE
ALTER TABLE
视图
CREATE VIEW
DROP VIEW
索引
CREATE INDEX
DROP INDEX
表3-1 SQL数据定义语句
CREATE TABLE 〈表名〉
说明:
(1)其中表名是要定义的基本表的名称。一个表可以由一个或多个属性列组成。
(2)创建表时通常还可以定义与该表有关的完整性约束条件。
(3)数据类型:SQL Server 2000常用数据类型。
1)实体完整性定义语法:
[CONSTRAINT 约束名] PRIMARY KEY[(属性列表)]
2)参照完整性定义语法:
[CONSTRAINT 约束名] FOREIGN KEY(列名)REFERENCES <被参照表表名>(被参照表列名)。
3)自定义完整性定义语法:
列值非空:[CONSTRAINT 约束名] NOT NULL。
列值惟一:[CONSTRAINT 约束名] UNIQUE[(属性列表)]。
逻辑表达式:[CONSTRAINT 约束名] CHECK(表达式)。
例3-1 创建图书信息表、读者信息表和借阅表。
(1)创建图书信息表。
CREATE TABLE BOOK
(BOOKID CHAR(20) PRIMARY KEY,
BOOKNAME VARCHAR(60) NOT NULL,
EDITOR CHAR(8),
PRICE NUMERIC(5,2),
PUBLISH CHAR(30),
PUBDATE DATETIME,
QTY INT)