您的位置:首页 > 数据库 > Oracle

oracle中关于表的各种操作

2010-07-06 16:54 232 查看
/*关于表的各种操作 20100706 fangyl*/
--重命名表
RENAME EMPLOYEES_OLD TO EMPLOYEES_OLD_new;

SELECT * FROM EMPLOYEES_OLD_new;

--给表和列添加注释
COMMENT ON TABLE EMPLOYEES_OLD_new IS '临时测试使用的表';
COMMENT ON COLUMN EMPLOYEES_OLD_new.Emp_Num IS '工号';

--约束
ALTER TABLE EMPLOYEES_OLD_new ADD CONSTRAINT checkemp_num CHECK(Emp_Num<100001); --check 约束
ALTER TABLE employees_old_new MODIFY (emp_firstname NOT NULL); --非空约束 只能使用modify添加非空约束
ALTER TABLE employees_old_new ADD UNIQUE (emp_num); --唯一性约束
ALTER TABLE employees_old_new ADD CONSTRAINT pk_emp_num PRIMARY KEY (emp_num); --主键约束

--外键级联操作关键字:当被参照的数据被删除时,参照该字段的数据也一并被删除(或者置为空)
ALTER TABLE EMPLOYEES_OLD_new ADD CONSTRAINT fk_434um FOREIGN KEY (emp_num)
REFERENCES dept_temp(staff_id) ON DELETE CASCADE; --外键 或者 ON DELETE SET NULL

ALTER TABLE EMPLOYEES_OLD_new DISABLE CONSTRAINT checkemp_num; --禁用约束
ALTER TABLE EMPLOYEES_OLD_new ENABLE CONSTRAINT checkemp_num; --激活约束

ALTER TABLE EMPLOYEES_OLD_new MODIFY CONSTRAINT checkemp_num DISABLE; --禁用约束
ALTER TABLE EMPLOYEES_OLD_new MODIFY CONSTRAINT checkemp_num ENABLE; --激活约束

ALTER TABLE EMPLOYEES_OLD_new DROP CONSTRAINT checkemp_num CASCADE; --删除约束

-- 约束数据字典
user_constraints Dba_Constraints all_constraints
SELECT * FROM user_constraints;
--约束对应的字段
User_Cons_Columns dba_cons_columns All_Cons_Columns
SELECT * FROM user_cons_columns;

--修改表结构
ALTER TABLE EMPLOYEES_OLD_new RENAME COLUMN emp_lastname TO emp_lastname01; --修改列名
ALTER TABLE EMPLOYEES_OLD_new MODIFY (emp_lastname01 VARCHAR(15)); -- 修改列的大小

ALTER TABLE dept_temp MODIFY (dep_num VARCHAR2(10)); --修改列的属性

ALTER TABLE EMPLOYEES_OLD_new SET UNUSED(emp_lastname01) ; --设置某字段为无效字段
ALTER TABLE EMPLOYEES_OLD_new DROP UNUSED COLUMNS CHECKPOINT; --删除无效字段,使用 checkpoint 节省回滚段使用

ALTER TABLE EMPLOYEES_OLD_new ADD (emp_lastname01 VARCHAR(15)); ---添加一列
ALTER TABLE EMPLOYEES_OLD_new DROP COLUMN emp_lastname01; --删除一列

--建新的表空间
CREATE TABLESPACE tab_fangtest DATAFILE 'F:/app/fangyl/product/11.1.0/db_1/oradata/fangyl/tab_fangy02.dbf' SIZE 10m;

--更改表的表空间
ALTER TABLE EMPLOYEES_OLD_new MOVE TABLESPACE tab_fangtest;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: