Oracle期末考试复习
一、sqlplus操作
1.登录:
- cmd => sqlplus scott/tiger =>conn sys/as sysdba
2.设置:
- set sqlprompt ShenSijie>
- set linesize 120
- set pagesize 20
- set serveroutput on
3.截图:
- win+shift+S
二、关于oracle(第二章):看实验报告
1.表空间信息:
- 使用V$TABLESPACE视图查看表空间信息:select * from V $TABLESPACE;
- 查看表空间dba_tablespaces属性:desc dba_tablespaces;
- 查看表空间中所报刊的段信息:select segment_name,segment_type,extents,tablespace_name from dba_segments where tablespace_name=‘SYSTEM’;
- 查看回滚段的名称列表:select * from V$rollname;
- 查看回滚段的统计信息:select* from V$rollstat;
- 查看表空间中空闲区间的信息:desc dba_free_space;
2.查看物理体系结构各部分内容:
- 查看SGA(系统全局区)参数:show parameter sga
- 查看PGA(程序全局区)参数:show parameter pga
- 查看共享池大小:show parameter shared_pool_size
- 查看数据缓冲池大小:show parameter db_cache_size
- 查看日志缓冲区大小:show parameter log_buffer
- 查看数据块大小:select name,value from V$parameter where name = ‘db_block_size’;(单位Byte)
3.表空间
创建表空间SSJ,同时创建一个50MB的数据文件:create tablespace SSJ datafile ‘SSJ.DBF’ size 50m;
三、关于用户管理与权限分配:(13章)
用户:
- 创建用户:create user “user_name” identified by “user_password”;
- 解锁用户:alter user “user_name” account unlock;
- 修改用户密码:alter user “user_name” indentified by “new_user_password”
- 查看用户的默认表空间和零时表空间:select default_tablespace,temporary_tablespace from dba_users where username=“user_name”;
- 删除用户:drop user “user_name”;
角色
- 创建角色:create role “role_name”;
- 查看角色所拥有的权限:select * from dba_sys_peivs where grantee=‘role_name’;
- 修改角色:
- 授予权限:grant 权限 to “role_name”;
- 收回权限:revoke 权限 from “role_name”;
- 删除角色:drop role “role_name”;
课本P263:一些重要的角色
权限:
授予权限:grant 权限 to “role_name/user_name”;
授予用户某角色的权限:grant role_name to user_name
例题:
创建一个ssj用户,口令为123,并设置默认表空间为users,临时表空间为tempt ,并指定在默认表空间上的大小为20MB。
create user ssj identified bu 123
default tablespace users
temporary tablespace temp
quota 20m on users;
创建角色 ssj_role,并授予权限,并将ssj_role的权限 以及 create table的权限 授予ssj用户。
create role ssj_role [identified by 1234]; (可以没有密码)
grant select,update,insert,delete on emp to ssj_role;
grant ssj_role to ssj;
grant create table to ssj;
授予用户dba权限,收回dba权限,修改ssj用户的表空间大小为10m,修改密码为1234,解锁ssj用户,删除ssj用户
grant dba to ssj;
revoke dba to ssj;
alter user ssj quota 10m on users;
alter user ssj identified by 1234;
alter user ssj account unlock;
drop user ssj;
四、标准sql
1.DQL(数据查询语言)
例子一:查询员工的姓名,员工编号,工资的1.1倍,以及部门名称,要求:工资在1000跟5000之间,并且不等于1500和2000. 姓名第二个字符为A. 工作为SALESMAN和MANAGER之间一个.没有绩效.结果按照工资降序输出。
select distinct e.ename “姓名”,e.empno “员工编号”,e.sal*(1+0.1) “工资” ,d.dname “部门名称”
//数据不重复,为每一列指定列名,带有表达式的select(显示1.1倍的工资)。
from emp e,dept d
//多个表时,给予别名,写起来方便
where e.deptno=d.deptno
and e.sal> 1000 and e.sal<5000
//也可以使用 e.sal between 1000 and 5000
and e.sal<>all(1500,2000)
//<>表示“不等于”;也可表示为A!B。all表示同时满足
and e.ename like ‘_A%’
//使用like关键字查询,_A%可以表示BAccc、DAnn等
and e.job in(’SALESMAN‘,’MANAGER‘)
//in关键字,job在列出的几个之中,
and e.comm is null
//表示没有绩效,可改:is not null.同时not可用于,not between and等等
order by sal desc
//以sal降序顺序输出,升序为asc
例子二:列出每个部门的部门号以及工资在1000以上的人员个数,要求:以部门号升序输出,只输出人数大于公司部门数的部门。
select count(empno),deptno
//还有avg(sal)工资的平均数等聚合函数
from emp
where sal>1000
group by deptno
//以deptno分组查询
having count(empno)>(select count(distinct deptno) from emp)
//对分组查询结果做删选,不用where,用having
order by deptno asc;
2.DML(数据操纵语言)
insert into emp values (‘ssj’,…);
update emp set sal=1000 where deptno=10;
delete from emp where empno=1111;
3.TCL(事务控制语言)
commit
rollback
五、PL/sql
1.匿名块
declare
type emp_type is record//声明record类型变量,可以储存多列值的一行数据
(
var_no emp.empno%type;
//%type在不知道数据类型的时候使用,将
var_name varchar(10)
);
empinfo emp_type;//定义变量。注意声明和变量一个都不能少
rowemp emp%rowtype//就像%type,emp%rowtype表示可以储存一行emp表中数据的变量
begin
money =: 888888;//在匿名块中赋值要使用 “:=”
select empno,ename into empinfo from emp where empno=9999;//使用record
select * into rowemp from emp where empno=8888;//使用rowtype
exception
when zero_divide then dbms_output.put_line("…");
end;
/
2.流程控制语句
(1)选择
①if …then …;
elsif … then …;
else … ;**
end if;**
②case a
when … then …;
when … then …;
else …;
end case;
(2)循环
①loop …(循环体)
exit when…(结束条件)
end loop;
②while …(条件)
loop …(循环体)
③for i in reverse 1…100
loop …
end loop;
3.命名块
(1)游标
①显式游标
declare
cursor cur_emp(var_job in varchar2:=‘SALESMAN’) 创建游标
is select empno,ename,sal
from emp
where job=var_job;
type record_emp is record
(
…
);
begin
open cur_emp(‘MANAGER’); 打开游标
fetch cur_emp into emp_row; 先取一份数据
while cur_emp%found loop 当游标中还有数据
dbms_output.put_line(emp_row.var_ename||…);
fetch cur_emp into emp_row; 再去一份数据
end loop;
close cur_emp;关闭游标
end;
/
②隐式游标
for emp_record(这个名字只要是可以作为record数据名字的就行) in (select empno,ename,sal from emp where job=‘SALESMAN’)
loop …end loop;
end;
(2)存储过程
create or replace procedure ssj
(
in
out
)
is/as
declare
begin
(3)函数
create or replace function ssj( num_a number) return number is xxxxxx
avg_pay :=get_avg_pay(10);
(4)触发器
create or replace trigger trig (for each row//行级触发器)
before/after insert/delete/update
on table_name
6.表相关
建表
改表名
添加列
drop table table_name;删除表
delete from table_name where …
Oracle期末考试复习相关推荐
- Oracle期末考试 复习笔记
Oracle期末考试 复习笔记 复习提纲 引言 本部分旨在为大家介绍数据库及大型数据库相关的概念,需要大家掌握云计算概念. 云计算的应用及分类.云数据库.关系型数据库的基本常识. Oracle 12c ...
- Oracle期末考试总复习资料
文章目录 前言 一.简介 1. 登录 2. 授权 3. 修改 4. 启用与禁用 5. 删除 6. 索引.序列.角色.用户 二.表 1. 创建表 1.1 子查询创建表 1.2 定义约束^!!!^ 1.3 ...
- 2018人工智能期末考试复习资料(一):学术篇
机器之心知识委员会 机心通知函[2018]002号 2018 年人工智能专业期末考试复习资料:学术篇 各人工智能研究者.工程师.从业人: 2018 年是人工智能迅猛发展的一年,从技术研究到产业应用都取 ...
- 我们身边的知识产权单元测试答案(期末考试复习)【湘潭大学】
我们身边的知识产权单元测试答案(期末考试复习)[湘潭大学] 第一章 第二章 第三章 第四章 第五章 第六章 第一章 我国历史上第一部以著作权为保护中心的法律是1910年清政府制定颁布的<大清著作 ...
- c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目
C语言期末考试复习资料 计算机等级考试复习题目 国二国三资料题目 1 C 语言复习题 @复刻回忆 新浪微博账号:http://doc.xuehai.net/panhe14 个人主页 http://do ...
- 河北工程大学c语言期末考试及答案,河北工程大学之数据结构c语言版期末考试复习试题...
河北工程大学之数据结构c语言版期末考试复习试题 <数据结构与算法>复习题 一.选择题. 1.在数据结构中,从逻辑上可以把数据结构分为 C . A.动态结构和静态结构 B.紧凑结构和非紧凑结 ...
- 大学操作系统期末考试复习经典计算题快速回顾
操作系统期末考试复习经典计算题 1.银行家算法 2.计算周转时间 2.1 先来先服务(FCFS) 2.2 短作业优先调度算法(SJF) 2.3 优先级调度算法和高响应比优先调度算法 3.页面置换算法( ...
- 人工智能期末考试复习(贲可荣 张彦铎)
人工智能期末考试复习(贲可荣 张彦铎) 人工智能的3个主流学派: 逻辑学派(符号主义方法):物理符号系统(即符号操作系统)假设和有限合理性原理 仿生学派(联结主义方法):神经网络及神经网络间的连接机制 ...
- 计算机文化基础期末考试复习
计算机文化基础期末考试复习以下是咱们期末考试的复习题,希望大家认真学习: 一.选择题 1. 第一台计算机ENIAC淡生于1946年,是电子管计算机:第二代是晶体管计算机:第三代是中小规模集成电路: ...
最新文章
- 习题8-6 删除字符 (20 分)
- 这些哭笑不得的情景,每个程序员都可能面对
- 利用vue进行页面滚动监听,上拉刷新
- javascript入门 - 1
- Docker端口映射实现
- Android开发之基本概念
- 如何避免重复请求/并发请求?这样处理才足够优雅
- 管道过滤模式 大数据_大数据管道配方
- Java 故障安全异常处理
- 【手势识别】基于matlab GUI石头剪刀布【含Matlab源码 774期】
- QQ默认表情消失的解决办法
- 【毕业设计】基于单片机的太空游戏机 - 嵌入式 物联网 stm32 51
- mysql给一张表做快照_MySQL之快照读
- 架构师之spring------@Autowire注入多泛型实例 can not cast to的问题解决
- 非985/211面试大厂校招经历经验总结(安全工程师/渗透工程师)
- 2021云栖大会丨果断收藏!「混合云参会指南」来啦
- 在React中使用防抖节流
- 三菱a系列motion软体_吉林三菱Q10UDHCPU
- 你遇到过的最奇葩的博士生导师是怎样的?
- Python作业【六】(语言练习题,稍有难度)