教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 说明书 >

Oracle实验指导书和实验报告(5)

来源:网络收集 时间:2025-09-18
导读: 【例】将表空间MYTBS中所有数据文件设置为联机状态,代码如下: ALTER TABLESPACE MYTBS DATAFILE ONLINE; 4.5删除数据文件 【例】删除表空间MyTbs,同时删除其中数据文件的代码如下: DROP TABLESPACE MyTbs INCLU

【例】将表空间MYTBS中所有数据文件设置为联机状态,代码如下: ALTER TABLESPACE MYTBS DATAFILE ONLINE;

4.5删除数据文件

【例】删除表空间MyTbs,同时删除其中数据文件的代码如下: DROP TABLESPACE MyTbs INCLUDING CONTENTS CASCADE CONSTRAINTS;

? 也可以使用ALTER DATABASE命令删除指定的数据文件。 5.日志文件

5.1查看日志文件信息

? 查询视图V$LOGFILE,显示重做日志的成员文件,语句如下: SELECT GROUP#,MEMBER FROM V$LOGFILE;

? 查询视图V$LOG,显示控制文件中重做日志组的信息,语句如下: SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

5.2 创建日志组

在ALTER DATABASE语句中使用ADD LOGFILE子句创建重做日志组:

? 添加重做日志文件log1c.rdo和log2c.rdo,初始大小为5M,代码如下: ALTER DATABASE ADD LOGFILE ('log1c.rdo', 'log2c.rdo') SIZE 5000k; Select * from v$logfile;

【例】创建重做日志组10,其中包含重做日志文件log1c.rdo和log2c.rdo,语句如下: ALTER DATABASE ADD LOGFILE GROUP 10 ('log1a.rdo','log2a.rdo') SIZE 5000k; Select * from v$logfile;

5.3 创建重做日志成员

【例】将重做日志文件log3a.rdo添加到编号为10的重做日志组中,语句如下: ALTER DATABASE ADD LOGFILE MEMBER 'log3a.rdo' TO GROUP 10;

5.4 删除日志组

删除编号为10的重做日志组,语句如下: ALTER DATABASE DROP LOGFILE GROUP 10;

5.5删除重做日志成员

【例5.47】删除重做日志文件log1f.rdo,语句如下: ALTER DATABASE DROP LOGFILE MEMBER 'log1f.rdo';

实验三常用SQL语言的使用(2学时)

实验目的:熟悉常用的sql语句。

实验内容:1.查询语句:查询所有、指定段、使用别名、模糊查询、排序查询 2.单行函数的使用

3.多表查询 4.子查询

实验三、四的要求:本实验以题目的方式进行。考虑到大家在《数据库概论》中学过部分sql语句,简单的sql语句在实验手册中没写出sql语句,请大家自己思考,自己书写,复杂的sql语句已经给出,请大家思考后练习

1.常用查询语句

看emp表的所有信息

看有哪些部门,部门有哪些人、每个人的工作是什么 老板要给每个员工多发600元,看每个员工要发多少钱 如果要给老板打印一份员工的工资表,使用上述查询语句老板可能看不懂ename,job,sal,因此需给老板一个看懂的工资表,因此要对列使用别名

如果老板要求文档的列标为 Employee' Salary,而且数据为*** annual salary is ***,如SMITH annual salary is 15600 从emp表中查询有几个部门

如果想查询每个部门中的岗位有哪些? 查找smith的薪水,工作,所在部门

查找在82年1月1号入职的员工姓名、雇佣日期 查找薪水在2000—3000的雇员姓名和薪水 显示首字母为S的员工的姓名和工资

显示第三个字符为O的所有员工姓名和工资 如果老板让你查找没有绩效的员工名称

如果老板让你查找员工姓名、工资、绩效和年收入

查找员工岗位是 SALESMAN、CLERK、MANAGER的员工信息 查找员工岗位不是SALESMAN、CLERK、MANAGER的员工信息

按sal升序排列,如果有工资相同的,按姓名字符从低到高排序,如成绩排序 选择在部门 30 中员工的所有信息

列出职位为(MANAGER)的员工的编号,姓名 找出奖金高于工资的员工

找出每个员工奖金和工资的总和

找出部门 10 中的经理(MANAGER)和部门 20 中的普通员工(CLERK)

找出部门 10 中既不是经理也不是普通员工,而且工资大于等于 2000 的员工 找出没有奖金的不同工作

找出没有奖金或者奖金低于 500 的员工 2.单行函数 2.1字符型函数

? ? ?

Upper Lower Initcap

? Concat ? Substr ? Length ? Replace ? instr 2.2数字型函数

? ROUND(表达式,n):四舍五入 ? TRUNC(表达式,n):不四舍五入 ? MOD(m,n):取余数

? select round(168.888,1) ,trunc(168.888,1) ,mod(1900,400) from dual; ? 结果为:168.9,168.8,300

? mod(300,400)余数为300,应记住oracle的这个规定 2.3日期型函数

? ? ? ? ? ?

Months_between()

Select ename,job,hiredate,months_between(sysdate,hiredate) from emp;

Add_months()

select add_months(sysdate,1) from dual; Next_day()

select next_day(sysdate,'星期一') from dual;系统日期的下一个星期一

? Last_day

? select last_day(sysdate) from dual; 2.4转换函数

? 1、to_char (日期,?fmt?):日期转换为字符

? fmt为格式,如:'dd-mm-yyyy',yyyy/mm/dd

? select to_char(sysdate,'dd-mm-yyyy') from dual;结果为14-08-2014 ? select to_char(sysdate, 'yyyy/mm/dd ') from dual; 结果为2014/08/14 ? 2、to_char (数字,'fmt'):数字转换为字符串

? select to_char(sal*12,'L99999.00') from emp; ¥81468.00 ? 3、to_date(字符串,['fmt']):

? select to_date('16-6月-03') -sysdate from dual; ? 课后练习:

? 所有员工名字前加上Dear ,并且名字首字母大写 ? 找出姓名为 6 个字母的员工

? 找出姓名中不带 R 这个字母的员工 ? 显示所有员工的姓名的第一个字

? 假设一个月为 30 天,找出所有员工的日薪,不计小数 ? 找到 2 月份受雇的员工

? 列出员工加入公司的天数(四舍五入)

? 分别用 case 和 decode 函数列出员工所在的部门,deptno=10 显示'部门 10', ? deptno=20 显示'部门 20' deptno=30 显示'部门 30' deptno=40 显示'部门

40' 否则为'其他部门?

3. 分组函数

…… 此处隐藏:1395字,全部文档内容请下载后查看。喜欢就下载吧 ……
Oracle实验指导书和实验报告(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/449253.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)