SQL是当前最常用的关系数据库语言,它的核心部分和关系代数是等价的,而它还有一些重要的功能已经超越了关系代数的表达能力,例如求和与统计功能以及对数据进行插入、删除、修改等操作。
SQL自1974年提出,1986年制定标准以后,已有了各种不同的版本,各自都有一些超越和变化,这里介绍的是它最常用的一些特性,在实际使用时应查阅相关的使用手册。
4.3.1 SQL的特点
(1) SQL集数据库查询、数据操作、数据定义和数据控制功能于一身,功能强大,通用性好,简单易学。
(2) 高度非过程化
用SQL进行数据操作,用户只需要指出“做什么”,不需要指出“怎么做”,用户无需了解数据的存放位置和存取路径,由DBMS自动完成。这样大大减轻了用户负担,并且有利于数据的独立性。
(3) 面向集合的操作方式
SQL采用集合操作的方式,它的查询和更新操作都是元组的集合。
(4) 简洁易学,灵活易用
SQL语言简洁。只有少量关键字,语法简单,接近英语口语,容易学习。此外,SQL使用方法灵活,用户不仅可以输入SQL语言对数据库进行操作,与数据库进行交互,还可以将SQL语言嵌入到其它高级语言程序中。
4.3.2 SQL基本命令
1. 数据定义
(1)定义基本表
CREATE TABLE<关系名>(属性名1 类型1,属性名2 类型2,...,属性名n 类型n);
(2)撤销基本表
DROP<关系模>;
(3)定义视图
CREATE VIEW<视图名>AS SELECT属性名1,属性名2,...,属性名n FROM<关系名> WHERE<条件>;
(4)撤销视图
DROP<视图名>;
(5)定义索引
CREATE INDEX<索引表名>ON<关系名(属性名)>;
(6)撤销索引
DROP<索引表名>;
2. 查询
(1)查询列
SELECT<列表名>FROM<关系名>;
(2)查询行
SELECT * FROM<关系名>WHERE<条件>;
(3)排序
SELECT<列表名>FROM<关系名>ORDER BY <关键字>[DESC];
3. 数据操纵
(1)插入
INSERT INTO<关系名>(列表名)VALUES(列表值);
(2)更新
UPDATE<关系名>SET数据项名=更新数据WHERE<条件>;
(3)删除行
DELETE FROM<关系名>WHERE<条件>;
4. 控制
(1)授权
GRANT<授权内容>ON<关系名>TO<用户名>;
(2)撤销授权
REVOKE<授权内容>ON<关系名>FROM<用户名>;
SQL语言的运用需要通过大量的练习和实验才能熟练掌握。