21.管理模式对象

0.修改表

--使用alter table语句:
----增加新的列
----修改存在的列
----定义默认值
----删除列
alter table xxx add (name varchar2(50));
alter table xxx modify (name varchar2(50));
alter table xxx drop name;

--标记一个或多个列不在使用
alter table xxx set unused name;
alter table xxx set unused (name,age);

--删除标记不再使用的列
alter table xxx drop unused columns;

1.添加约束

--增加约束
alter table xxx add constraint emp_mgr_fk foreign key(manager_id) references emp2(employee_id);
--修改约束
alter table xxx modify employee_id primary key;
--删除约束:
--父表行删除子表行也被删除
alter table xxx add constraint emp_dt_fk foreign key(department_id) references departments(department_id) on delete cascade;
--父表删除子表行对应的列更改为空值
alter table xxx add constraint emp_dt_fk foreign key(department_id) references departments(department_id) on delete set null

延迟约束

--删除约束
alter table xxx drop constraint emp_mgr_fk;
--删除外键依赖的主键约束使用cascade
alter table xxx drop promary key cascade;
--禁止约束
alter table xxx disable constraint emp_dt_fk;
--启用约束
alter table xxx enable constranint emp_dt_fk;

alter table xxx rename column team_id to id;
alter table xxx rename constraint mktg_pk to new_mktg_pk;

2.建立索引

--索引建立时机:
----自动建立
----主键约束建立
----唯一性约束建立

----手工建立
----create index语句
----create table语句

3.使用create table语句建立索引

sys@ORCL 2023-02-26 15:16:57> create table new_emp( employee_id number(6) primary key using index ( create index emp_id_idx on new_emp(employee_id)),
  2  first_name varchar2(50),
  3  last_name varchar2(50));

Table created.

sys@ORCL 2023-02-26 16:06:10> r
  1  select index_name,table_name
  2  from user_indexes
  3* where table_name = 'NEW_EMP'

INDEX_NAME			    TABLE_NAME
----------------------------------- -----------------------------------
EMP_ID_IDX			    NEW_EMP

Elapsed: 00:00:00.00

4.建立基于函数的索引

--创建索引
create index upper_dept_name_idx on dept2(upper(department_name));
--删除索引
drop index xxx;
---drop index必须具有drop any index权限或是索引的所有者;

5.执行flashback操作

--能在一个语句中把表恢复到指定的时间点
--恢复表数据库联通索引与约束信息
--能返回表及其内容到指定时间点或系统更改号

drop tbale xxx;
select original_name,operation,droptime from recyclebin;
flashback table xxx to before drop;

6.建立临时表

7.建立外部表

创建一个目录对象,相对应的目录可存放外部表的数据文件

 

posted @ 2023-02-26 16:17  竹蜻蜓vYv  阅读(21)  评论(0编辑  收藏  举报