数据定义
SQL的数据定义功能包括模式定义、表定义、视图和索引的定义。
SQL的数据定义语句
操作对象 | 创建 | 删除 | 修改 |
---|---|---|---|
模式 | CREATE SCHEMA | DROP SCHEMA | |
表 | CREATE TABLE | DROP TABLE | ALTER TABLE |
视图 | CREATE VIEW | DROP VIEW | |
索引 | CREATE INDEX | DROP INDEX |
基本表:本身独立存在的表,在SQL中一个关系就对应一个基本表。一个(或多个)基本表对应一个储存文件,一个表可以带若干索引,索引也可存放在储存文件中。
视图:从一个或几个基本表导出的表。它本身不独立存在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。这些数据仍存放在导出视图的基本表。(可限制操作)
索引:建立索引是加快查询速度的有效手段。用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能显式地选择索引。
数据操作
1. 数据查询
select [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>]...
from <表名或视图名> [,<表名或视图名>]...
[where <条件表达式>]
[group by <列名1> [having <条件表达式>]]
[order by <列名2> [ASC|DESC]];
2. 插入数据
insert
into <表名> [( <属性列1> [, <属性列2> ...])]
values ( <常量1> [, <常量2> ]...);
3. 修改数据
update <表名>
set <列名> = <表达式> [, <列名> = <表达式> ]...
[where <条件> ];
4. 删除数据
delete
from <表名>
[where <条件> ];
基本表的定义、删除和修改
1. 定义基本表
create table <表名> (
<列名> <数据类型> [列级完整性约束条件]
[, <列名> <数据类型> [列级完整性约束条件]]
...
[,<表级完整性约束条件> ]);
1.1 定义基本表时定义它所属的模式:(略)
2. 修改基本表
alter table <表名>
[add <新列名> <数据类型> [完整性约束]]
[drop <完整性约束名>]
[alter column <列名> <数据类型>];
3. 删除基本表
drop table <表名> [RESTRICT|CASCADE]
视图的定义、删除和修改
1. 建立视图
create view <视图名> [( <列名> [, <列名> ]...)]
as <子查询>
[with check option];
2. 删除视图
drop view <视图名> [CASCADE];
3. 查询视图
同基本表的查询。
4. 更新视图
同基本表的更新。