首页 > 代码库 > 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 <同义词名>;