SQL 是结构化查询语言( Structured Query Language )的缩写,其功能包括数据查询、数据操控、数据定义和数据控制四个部分;
- SQL 语言简洁、方便实用、功能齐全,已成为目前应用最广的关系数据库语言;
- SQL 既是自含式语言( 联机交互 ),又是嵌入式语言( 宿主语言 );
基本表:
是独立存在的表,不是由其它的表导出的表,一个关系对应一个基本表,一个或多个基本表对应一个存储文件;
视图:
视图是一个虚拟的表,是一个或几个基本表导出的表,数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变;
SQL 语言使用数据定义语言( DDL )实现其数据定义功能,可对数据库用户、基本表、视图、索引进行定义和撤销;
CREATE TABLE < 表名 >( < 列名 > < 数据类型 > < 列级完整性约束条件 > )
< 表名 > 合法标识符,最多 128 个字符,如 S , SC , C ,不允许重名;
ALTER TABLE < 表名 >
[ ADD < 新列名 > < 数据类型 > [ 完整性约束 ] ]
[ ALTER COLUMN < 列名 > < 数据类型 > ]
[ DROP < COLUMN 列名 > | < 完整性约束名 > ]
- ADD 子句:增加新列和新的完整性约束条件;
- ALTER COLUMN 子句:用于修改列;
- DROP 子句:删除指定列或完整性约束条件;
DROP TABLE < 表名 >
基本表删除后,其中的数据和表上建立的索引都被删除,而建立在该表上的视图不会删除,系统将继续保留其定义,但已无法使用;
CREATE VIEW < 视图名 > [ ( < 列名 > [ <列名> ] …… ) ]
AS
< 子查询 >
[ with check option ]
DROP VIEW < 视图名 >
SELECT [ ALL | DISTINCT ] < 目标列表达式 > [ , < 目标列表达式 > ]
FROM < 表名或视图名 > [ , < 表名或视图名 > ] …… | ( SELECT 语句 )
[ AS ]< 别名 >
[ WHERE < 条件表达式 > ]
[ GROUP BY < 列名1 > [ HAVING < 条件表达式 > ] ]
[ ORDER BY < 列名2 > [ ASC | DESC ]];
- 根据 WHERE 子句的检索条件,从 FROM 子句指定的基本表或视图中选取满足条件的元组,再按照 SELECT 子句中指定的列投影得到结果表;
- 如果有 GROUP 子句。则将查询结果按照 < 列名1 > 相同的值进行分组;
- 如果 DROUP 子句后有 HAVING 短语,则只输出满足 HAVING 条件的元组;
- 如果有 ORDER 子句,查询结果还要按照 < 列名2 > 的值进行排列;
表的连接方式有两种:
- 表之间满足一定的条件的行进行连接,此时 FROM 子句中指明进行连接的表名, WHERE 子句指明连接的列名及其连接条件;
- 利用关键字 JOIN 进行连接;