Oracle期末考试总复习资料


前言

这是我上学期Oracle期末考试前整理的一些资料,今天调整了部分格式后分享出来。希望能帮到要考Oracle(以写SQL语句为主的考试)的小🔥伴儿们~


一、简介

1. 登录

结尾无分号

sqlplus sys/11111 as sysdba
  • 切换用户(关键词:Connect

    connect scott/tiger
    
  • 用户表中可使用的磁盘空间大小(关键词:Quota)[了解]

    create user linda
    identified by 111111
    default tablespace users
    quota 10M on users;
    
  • 用户默认密码已过期,用户登录前需修改(关键词:password expire)[了解]

    create user linda
    identified by 111111
    password expire;
    

2. 授权

  • 建立会话(登录)系统权限:grant create session to linda;
  • 创建数据表的系统权限:grant create table to linda;
  • 授权和数据库建立连接的角色:grant connect to linda;

3. 修改

​ 关键词:Alter

  • 修改密码

    alter user linda
    indentified by 111112;
    

4. 启用与禁用

​ alter user linda account lock;

​ alter user linda account unlock;

5. 删除

​ 若用户方案中存在对象,则需要用cascade

​ drop user linda cascade;

6. 索引、序列、角色、用户

  • 索引是表的一个微型拷贝

    create role hr_clerk
    	identified by password;
    

    注:identified by后为密码

    create user user_name
    	identified by password;
    

二、表

1. 创建表

create table haha
	(deptno number(2),
	 dname varchar2(14),
	 loc varchar2(13));

​ 查看表信息:describe haha

1.1 子查询创建表

create table dept30
as
	select empno, ename, sal*12 annsal
	from emp
	where deptno=30;

1.2 定义约束!!!

关键词:constraint

  • 非空:not null
create table haha
	(empno number(4),
     ename varchar2(10),
     deptno number(7, 2) not null,
     constraint emp_empno_pk primary key (empno));
  • 唯一码约束:unique

  • 主键约束:primary key

  • 外键约束:foreign key, references

  • Check约束:check

create table haha
	(empno number(2),
     ename varchar2(10) not null,
     job varchar2(9),
     sal number(7,2),
     comm number(7,2),
     mgr number(4),
     hiredate date,
     deptno number(7,2) not null,
     constraint haha_ename_uk unique (ename),
     constraint haha_empno_pk primary key (empno),
     constraint haha_deptno_fk foreign key (deptno)
     			references dept (deptno)
     constraint haha_deptno_ck check
    			(deptno between 10 and 99));

Q:number(7,2)含义?

A:7位有效数字,其中包含2位小数

1.3 管理约束

  1. 增加

    alter table haha
    add constraint haha_mgr_fk foreign key (mgr)
    			   references emp (empno);
    
  2. 删除

    alter table haha
    drop constraint haha_mgr_fk;
    
    alter table haha
    drop primary key cascade;
    
  3. 禁用

    alter table haha
    enable constraint haha_empno_pk;
    
    alter table haha
    disable constraint haha_empno_pk cascade;
    

2. 更改表

关键词:alter, add, modify, drop column

alter table haha
add (job varchar2(9));
alter table haha
modify (job varchar2(10));
alter table haha
drop column job;
alter table haha
drop unused column;

2.1 更改表名称

关键词:rename ... to ...

rename haha to fafa;

3. 删除表

drop table haha;

若删除的表中包含有被其它表外部码引用的码,并希望删除表的同时删除其它表中的相关外部码约束,则需要加cascade语句

drop table haha cascade constraints;

4. 截断表

关键词:truncate

truncate table fafa;

5. 注释表

关键词:comment

comment on table emp is ‘Employee Information’;


三、视图

1. 创建视图

  • 关键词:create view … as

    create view emp_view 
    as
    select empno, ename, sal 
    	from emp;
    

    scott账户下创建视图会显示权限不足。解决方法如下

  1. 以system/pw登录oracle;

  2. 输入

      grant create any view to scott;
    
  3. 重新登录scott账户,即可创建视图

2. 重定义视图

  • 关键词:create or replace view …

    create or replace view emp_view 
    as
    	select empno, ename, sal, loc
    	from emp, dept
    	where emp.deptno = dept.deptno;
    

3. 删除视图

  • 关键词:drop

    drop view emp_view;
    

4. 更改视图

create or replace view empvu10 (employee_number, employee_name, job_title)
as
select empno, ename, job
from emp
where deptno = 10;

思考:如何修改视图中某列的名称?


四、DML

1. Insert!!!

​ 关键词:insert into… values

注意括号!

insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (9000
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值