Oracle常用语句

-- 查看表信息
DESC 表名;

-- 表添加注释
COMMENT ON TABLE 表名 IS '注释信息';

-- 列添加注释
COMMENT ON COLUMN 表名.列名 IS '注释信息';

-- 修改表名  
ALTER TABLE 原表名  RENAME TO 新表名;  

-- 修改字段名
ALTER TABLE 表名 RENAME COLUMN 原字段名 TO 新字段名;

-- 在表的后面增加一个字段  
ALTER TABLE 表名 ADD 字段名 数据类型(数据大小);
ALTER TABLE 表名 ADD(字段名1 数据类型(数据大小) 约束条件, 字段名2 数据类型(数据大小) 约束条件, ...);

-- 在表中删除一列  
ALTER TABLE 表名 DROP COLUMN 列名;  
ALTER TABLE 表名 DROP (字段名1, 字段名2, ...);  

-- 修改表里字段的定义描述  
ALTER TABLE 表名 MODIFY 字段名 数据类型(数据大小);  

-- 给表里的字段加上约束条件  
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名, ...);-- 主键  
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名, ...);-- 唯一键  
-- 外键
ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY(字段名) REFERENCES 外键表名(外键字段名) ON DELETE CASCADE; 
-- 注:ON DELETE CASCADE和ON DELETE SET NULL的作用是用来处理级联删除问题的,也可以不加。
-- CHECK约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK (约束条件); 
-- 非空约束,增加非空约束时用的是关键字MODIFY,其它四种约束都是ADD
ALTER TABLE 表名 MODIFY 字段名 NOT NULL;

-- 删除表里的约束条件
-- 非空约束不能指定约束名,应该先通过查询表和列所对应的的约束信息,找出约束名,再删除。
ALTER TABLE 表名 DROP CONSTRAINT 约束名;

-- 修改主键,可以先删除主键约束,再重新创建新主键约束。

-- 重命令约束
ALTER TABLE 表名 RENAME CONSTRAINT 原约束名 TO 新约束名;

-- 创建索引
CREATE [unique] INDEX [user.]index
ON [user.]table (column [ASC | DESC] [,column [ASC | DESC] ] ... )
[CLUSTER [scheam.]cluster]
[INITRANS n]
[MAXTRANS n]
[PCTFREE n]
[STORAGE storage]
[TABLESPACE tablespace]
[NO SORT]
Advanced
 
其中:
   schema ORACLE模式,缺省即为当前帐户
   index 索引名
   table 创建索引的基表名
   column 基表中的列名,一个索引最多有16列,long列、long raw列不能建索引列
   DESC、ASC 缺省为ASC即升序排序
   CLUSTER 指定一个聚簇(Hash cluster不能建索引)
   INITRANS、MAXTRANS 指定初始和最大事务入口数
   Tablespace 表空间名
   STORAGE 存储参数,同create table 中的storage.
   PCTFREE 索引数据块空闲空间的百分比(不能指定pctused)
   NO SORT 不(能)排序(存储时就已按升序,所以指出不再排序)

CREATE INDEX 索引名 ON 表名 (字段名, ...);

-- 删除索引,当表结构被删除时,有其相关的所有索引也随之被删除。
DROP INDEX [schema.]indexname
drop index 索引名;

 

你可能感兴趣的:(Oracle常用语句)