数据定义
模式定义与删除
定义模式:
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
删除模式:
DROP SCHEMA <模式名> <CASCADE | RESTRICT>
其中CASCADE和RESTRICT两者必选其一。选择了CASCADE表示在删除模式的同时把该模式中所有的数据库对象全部一起删除。选择了RESTRICT表示如果该模式中已经定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。
基本表的定义、删除与修改
定义基本表:
CREATE TABLE <表名> (<列名> <数据类型> [类型完整性约束]
[,<表名> (<列名> <数据类型> [类型完整性约束]]
…
[, <表级完整性约>]);
注:关系数据库完整性包括:实体完整性,参照完整性和用户自定义完整性。
修改基本表:
ALTER TABLE <表名>
[ADD <新列名> <新数据类型> [完整性约束]]
[DROP <完整性约束名>]
[ALTER COLUMN <列名> <数据类型>];
其中<表名>是要修改的基本表,ADD子句用于增加新列和新的完整性约束条件,DROP子句用于删除指定的完整性约束条件,ALTER COLUMN子句用于修改原有的列定义,包括列名和数据类型。
删除基本表:
DROP TABLE <表名> [RESTRICT | CASCADE];
索引的建立与删除
建立索引:
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名> (<列名> [<次序>] [,<列名> [<次序>]] …);
其中,<表名>是要建索引的基本表的名字。索引可以建立在该表的一列或多列上,各列名之间用逗号分隔。每个<列名>后面还可以用<次序>指定索引值的排序次序,可选ASC(升序)或DESC(降序),缺省值为ASC。
UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。
CLUSTER表示要建立的索引是聚簇索引。所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。
删除索引:
DROP INDEX <索引名>;
数据查询
SELECT语句的一般格式:
SELECT [ALL | DISTINCT] <目标列表达式> [别名] [, <目标列表达式> [别名]]…
FROM <表名或视图名> [别名] [,<表名或视图名> [别名]]…
[WHERE <条件表达式>]
[GROUP BY <列名1> [HAVING <条件表达式>]]
[ORDER BY <列名2> [ASC | DESC]];
1. 目标表达式有一下可选格式
1) *
2) <表格名>.*
3) COUNT([DISTINCT | ALL] *)
4) [<表名>.] <属性列名表达式> [, [<表名>.] <属性列名表达式>]…
2. 常用的聚集函数:COUNT, SUM, AVG, MAX, MIN
数据更新
插入数据:
INSERT
INTO <表名> [(<属性列1> [, <属性列2>…])]
VALUES (<常量1> [, <常量2>]…)
修改数据:
UPDATE <表名>
SET <列名> =<表达式> [, <列名>=<表达式>]…
[WHERE <条件>];
删除数据:
DELETE
FROM <表名>
[WHERE <条件>];
视图操作和基本表的操作差不多,这里不再累述!