Oracle学习总结3-基本对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle学习总结3-基本对象相关的知识,希望对你有一定的参考价值。

(一)表

1、表

创建表:

create table test1(tid number,tname varchar2(20));

 

 

--增加新列:

alter table test1 add photo blob;

 

 

--修改列

 alter table test1 modify tname varchar2(40);

 

 

--删除列

alter table test1 drop column photo;

 

 

--重命名列

alter table test1 rename column tname to username;

 

 

--重命名表

rename test1 to test2;

 

 

--删除表

drop table test2;

 

 

--查看回收站(可以通过回收站中的表名查询,没真删)

show recyclebin;

 

 

--清空回收站

purge recyclebin;

 

 

--注意:管理员没有回收站

行地址:(伪列)rowid-------AAAMfPAAEAAAAAgAAA(这类值)

select rowid,empno,ename,sal from emp;

 

 

通过查询结果创建表:

 

创建表:保存20号部门的员工

create table emp20 as select * from emp where deptno=20;

 

 

创建表:员工号 姓名  月薪 年薪 部门名称

create table empinfo

as select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname

   from emp e,dept d

   where e.deptno=d.deptno

 

 

2、表的约束:

主键、非空、唯一、check、外键(全部包含)

create table student(

sid number constraint student_pk primary key,

sname varchar2(20) constraint student_name_notnull not null,

gender varchar2(2) constraint student_gender_check check(gender in(,)),

email varchar2(20) constraint student_email_unique unique

             constraint student_email_notnull not null,

deptno number constraint student_fk references dept(deptno) on delete set null

)

 

 

(二)视图

1、 管理员用户给予创建视图的权限:

grant create view to scott;

 

2、创建视图

Create or replace view empinfoview

as

select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname

from emp e,dept d

where e.deptno=d.deptno

with read only;

 

 

(三)序列

创建序列:

create sequence myseq;

 

初始值是0。

select myseq.nextval from dual.

select myseq.currval from dual.(刚刚创建无法执行这句)

 

 

(四)索引

建立索引

create index myindex on emp(deptno);

 

 

SQL的执行计划:--可以看出建立索引后cpu使用率降低

explain plan for select * from emp where deptno=10;

select * from table(dbms_xplan.display);

 

(五)同义词

管理员授权scott用户可以查看hr用户的employees表

grant select on hr.employees to scott;

 

管理员授权创建同义词:

grant create synonym to scott;

 

创建同义词:

create synonym hremp for hr.employees;

select * from hremp;

 

以上是关于Oracle学习总结3-基本对象的主要内容,如果未能解决你的问题,请参考以下文章

Oracle总结PLSQL学习

20145233韩昊辰 第三周总结

《面向对象程序设计(java)》第二周学习总结

MySQL 学习总结1

20165235祁瑛 2018-3 《Java程序设计》第三周学习总结

《数据结构与面向对象程序设计》第2-3周学习总结