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;

 

转载于:https://www.cnblogs.com/mlbblkss/p/6986552.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值