首页 > 代码库 > oracle基本语句(第七章、数据库逻辑对象管理)

oracle基本语句(第七章、数据库逻辑对象管理)

索引、实体化视图、簇、散列簇、序列、同义词

1、创建表

CREATE TABLE <表名>(<列名1> <数据类型>,……);

CREATE GLOBAL TEMPORARY TABLE <表名>(<列名1> <数据类型>,……) ON COMMIT DELETE ROWS TABLESPACE <临时表空间名>;--创建事务级临时表,事务提交后删除临时表中数据

CREATE GLOBAL TEMPORARY TABLE <表名>(<列名1> <数据类型>,……) ON COMMIT PRESERVE ROWS;--创建会话级临时表,会话结束后删除临时表中数据

2、DESC <表名>;--查看表结构

3、修改表

ALTER TABLE <表名> ADD (<列名> <数据类型>);--添加列

ALTER TABLE <表名> RENAME COLUMN <原列名> TO <新列名>;

ALTER TABLE <表名> DROP COLUMN <列名>;--删除列

ALTER TABLE <表名> SET UNUSED(<列名>);--设置列为不可用

ALTER TABLE <表名> MODIFY (<列名1> <数据类型>,……);--修改列类型

4、表重命名

RENAME <表名> TO <新表名>;

5、删除表中的数据

DELETE FORM <表名> WHERE <条件>;

6、截断表

TRUNCATE TABLE<表名>;

7、删除表

DROP TABLE <表名>;

8、创建、删除视图

CREATE OR REPLACE VIEW <视图名> AS <SELECT子句>;

DROP VIEW  <视图名>;--删除

9、创建索引

CREATE INDEX <索引名> ON <表名> (<列名>);

DROP INDEX <索引名>;

10、修改索引

ALTER INDEX <索引名> UNUSABLE;--设置索引不可用

ALTER INDEX <索引名> REBUILD;--重写使用索引

ALTER INDEX<索引名> RENAME TO <新名>;

11、创建、修改、删除实体化视图

CREATE MATERIALIZED VIEW <实体化视图名> AS <SELECT语句>;

ALTER  MATERIALIZED VIEW <实体化视图名>……;

DROP  MATERIALIZED VIEW <实体化视图名>;

12、簇(略)

13、创建序列

CREATE SEQUENCE <序列名>

MINVALUE n|NOMINVALUE--最小值为n|无最小值限制

MAXVALUE n|NOMAXVALUE--最大值为n|无最大值限制

START WITH n--初始值为n

INCREMENT BY n--间隔为n

CYCLE|NOCYCLE--循环|不循环

CACHE n|NOCACHE--缓存大小是n|无缓存

ORDER|NOORDER;--是否有序

14、修改序列

ALTER SEQUENCE <序列名> MAXVALUE 1000;--参数与前面创建时参数相同   

15、删除序列

DROP SEQUENCE <序列名>;

16、使用序列

使用序列值时会用到Oracle的两个伪列nextval和currval,其中nextval伪列用于从指定的序列数值中取出下一个值,最为常用;而currval伪列引用的是指定序列的“当前值”。使用这两个伪列时均使用"<序列名>.<伪列名>"的格式,例如:

17、创建同义词(即对象的别名)

CREATE PUBLIC SYNONYM <同义词名> FOR <对象名>;--对象名可以是表名等

DROP PUBLIC SYNONYM <同义词名>;