SQL数据库的基本操作
1)定义模式
定义模式实际上定义了一个命名空间(或者说目录)。
在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]
例:
2)删除模式
DROP SCHEMA <模式名> <CASCADE|RESTRICT>
CASCADE(级联) 删除模式的同时把该模式中所有的数据库对象全部删除。
RESTRICT(限制) 如果该模式中定义了下属的数据库对象(如表、视图
等),则拒绝该删除语句的执行。仅当该模式中没有任何下属的对象时才能执行。
例:
3)基本表定义
CREATE TABLE <表名> (<列名> <数据类型>[ <列级完整性约束条件> ][,<列名> <数据类型>[ <列级完整性约束条件>] ] …[,<表级完整性约束条件> ] );
<列级完整性约束条件>:涉及相应属性列的完整性约束条件
<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上。
例:
4)修改基本表
ALTER TABLE <表名>
[ADD[COLUMN] <新列名> <数据类型> [ 完整性约束 ] ]
[ADD <表级完整性约束>]
[DROP [ COLUMN ] <列名> [CASCADE| RESTRICT] ]
[DROP CONSTRAINT<完整性约束名>[ RESTRICT | CASCADE ] ]
[ALTER COLUMN <列名><数据类型> ] ;
(1)<表名>是要修改的基本表
(2)ADD子句用于增加新列、新的列级完整性约束条件和新的表级完整性约束条件
(3)DROP COLUMN子句用于删除表中的列
(4)如果指定了CASCADE短语,则自动删除引用了该列的其他对象
(5)如果指定了RESTRICT短语,则如果该列被其他对象引用,关系数据库管理系统将拒绝删除(6)该列DROP CONSTRAINT子句用于删除指定的完整性约束条件
(7)ALTER COLUMN子句用于修改原有的列定义,包括修改列名和数据类型
例:
5)删除表
DROP TABLE <表名>[RESTRICT| CASCADE];
RESTRICT:删除表是有限制的。
欲删除的基本表不能被其他表的约束所引用
如果存在依赖该表的对象,则此表不能被删除
CASCADE:删除该表没有限制。
在删除基本表的同时,相关的依赖对象一起删除
例:
6)创建索引
建立索引的目的是为了加快查询速度。
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);
(1)<表名>:要建索引的基本表的名字
(2)索引:可以建立在该表的一列或多列上,各列名之间用逗号分隔
(3)<次序>:指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC
(4)UNIQUE:此索引的每一个索引值只对应唯一的数据记录
(5)CLUSTER:表示要建立的索引是聚簇索引
例:
7)修改索引
ALTER INDEX <旧索引名> RENAME TO <新索引名>
例:
8)删除索引
DROP INDEX <索引名>;
删除索引时,系统会从数据字典中删去有关该索引的描述。