Oracle实验17.docx
《Oracle实验17.docx》由会员分享,可在线阅读,更多相关《Oracle实验17.docx(51页珍藏版)》请在冰豆网上搜索。
Oracle实验17
实验报告书
实验名称
实践练习1:
服务器的安装和OEM、SQLPlus的连接
姓名
蒋固金
成绩
学号
31011239
日期
完成的主要任务
1)掌握Oracle数据库软件的安装方法;
2)掌握使用DBCA创建、配置、删除数据库的方法;
3)掌握查看Oracle服务和常用工具的连接方法。
实验步骤描述及知识点总结
1)到Oracle官网下载Oracle11gR2forWindows版本,注意有32位和64位之分。
2)将下载的两个文件解压到同一文件夹,点击setup.exe开始安装。
3)根据提示完成安装。
4)若安装时选择了“安装和配置数据库”选项,则安装完成后可以在开始菜单->Oracle-OraDb11g_home1->DatabaseControl-orcl中打开访问em网址。
5)若安装时选择了“仅安装数据库软件”选项,可以使用dbca工具实现数据库的创建、配置、删除。
6)查看oracle的相关服务,并将启动类型设置为手动。
注意sqlplus、sqlDeveloper、EM的启动对各种服务的依赖关系。
7)启动OracleService服务,连接sqlplus。
8)打开OracleSQLDeveloper,并建立连接,熟悉环境。
9)实训过程的关键页面截图下来
遇到的问题、获得的帮助及解决方案
安装时检测出现警告,解决方法为全部忽略
遗留问题
无
附:
1)到Oracle官网下载Oracle11gR2forWindows版本,注意有32位和64位之分。
2)将下载的两个文件解压到同一文件夹,点击setup.exe开始安装。
3)根据提示完成安装。
4)若安装时选择了“安装和配置数据库”选项,则安装完成后可以在开始菜单->Oracle-OraDb11g_home1->DatabaseControl-orcl中打开访问em网址。
5)若安装时选择了“仅安装数据库软件”选项,可以使用dbca工具实现数据库的创建、配置、删除。
6)查看oracle的相关服务,并将启动类型设置为手动。
注意sqlplus、sqlDeveloper、EM的启动对各种服务的依赖关系。
9)启动OracleService服务,连接sqlplus。
10)打开OracleSQLDeveloper,并建立连接,熟悉环境。
实验报告书
实验名称
实践练习2:
使用SQLPlus
姓名
蒋固金
成绩
学号
31011239
日期
2013/3/7
完成的主要任务
1)掌握SQL*Plus连接的方法;
2)掌握SQL*Plus的各种编辑命令的使用;
实验步骤描述及知识点总结
1)连接sqlplus:
sqlplussys/123assysdba
2)执行命令:
spool‘c:
\exercise1.txt’。
3)按以下输入后,回车,观察结果:
4)分别按以下三行输入,观察结果。
5)先输入:
3↙;再输入:
c/ename/empno↙;观察结果。
(注:
↙代表回车,下同)
6)输入:
/,观察结果。
7)输入:
c/empno↙。
8)输入:
asaldesc↙。
9)输入:
/,观察结果。
10)输入:
del3↙,再输入:
l↙,观察结果。
11)输入:
ed↙,关闭记事本,保存,观察结果。
12)输入:
setlinesize200↙,再输入:
/,观察查询显示结果。
13)输入:
del2↙,再输入:
/,观察结果。
14)输入:
setpagesize20↙,再输入:
/,观察查询显示结果,注意变化。
执行命令:
spooloff,将文件c:
\exercise1.txt保存
遇到的问题、获得的帮助及解决方案
无
遗留问题
无
附:
SQL>select*fromscott.emp
2wheresal>2000
3orderbyename;
EMPNOENAMEJOBMGRHIREDATESALCOMM
-------------------------------------------------------------------------
DEPTNO
----------
7698BLAKEMANAGER783901-5月-812850
30
7782CLARKMANAGER783909-6月-812450
10
7902FORDANALYST756603-12月-813000
20
EMPNOENAMEJOBMGRHIREDATESALCOMM
-------------------------------------------------------------------------
DEPTNO
----------
7566JONESMANAGER783902-4月-812975
20
7839KINGPRESIDENT17-11月-815000
10
7788SCOTTANALYST756619-4月-873000
20
已选择6行。
SQL>l
1select*fromscott.emp
2wheresal>2000
3*orderbyename
SQL>l2
2*wheresal>2000
SQL>l12
1select*fromscott.emp
2*wheresal>2000
SQL>3
3*orderbyename
SQL>c/ename/empno
3*orderbyempno
SQL>/
EMPNOENAMEJOBMGRHIREDATESALCOMM
-------------------------------------------------------------------------
DEPTNO
----------
7566JONESMANAGER783902-4月-812975
20
7698BLAKEMANAGER783901-5月-812850
30
7782CLARKMANAGER783909-6月-812450
10
EMPNOENAMEJOBMGRHIREDATESALCOMM
-------------------------------------------------------------------------
DEPTNO
----------
7788SCOTTANALYST756619-4月-873000
20
7839KINGPRESIDENT17-11月-815000
10
7902FORDANALYST756603-12月-813000
20
已选择6行。
SQL>c/empno
3*orderby
SQL>asaldesc
3*orderbysaldesc
SQL>/
EMPNOENAMEJOBMGRHIREDATESALCOMM
-------------------------------------------------------------------------
DEPTNO
----------
7839KINGPRESIDENT17-11月-815000
10
7902FORDANALYST756603-12月-813000
20
7788SCOTTANALYST756619-4月-873000
20
EMPNOENAMEJOBMGRHIREDATESALCOMM
-------------------------------------------------------------------------
DEPTNO
----------
7566JONESMANAGER783902-4月-812975
20
7698BLAKEMANAGER783901-5月-812850
30
7782CLARKMANAGER783909-6月-812450
10
已选择6行。
SQL>del3
SQL>l
1select*fromscott.emp
2*wheresal>2000
SQL>ed
已写入fileafiedt.buf
1select*fromscott.emp
2wheresal>2000
3*orderbysaldesc
SQL>setlinesize200
SQL>/
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
-----------------------------------------------------------------------------------
7839KINGPRESIDENT17-11月-81500010
7902FORDANALYST756603-12月-81300020
7788SCOTTANALYST756619-4月-87300020
7566JONESMANAGER783902-4月-81297520
7698BLAKEMANAGER783901-5月-81285030
7782CLARKMANAGER783909-6月-81245010
已选择6行。
SQL>del2
SQL>/
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
-----------------------------------------------------------------------------------
7839KINGPRESIDENT17-11月-81500010
7902FORDANALYST756603-12月-81300020
7788SCOTTANALYST756619-4月-87300020
7566JONESMANAGER783902-4月-81297520
7698BLAKEMANAGER783901-5月-81285030
7782CLARKMANAGER783909-6月-81245010
7499ALLENSALESMAN769820-2月-81160030030
7844TURNERSALESMAN769808-9月-811500030
7934MILLERCLERK778223-1月-82130010
7521WARDSALESMAN769822-2月-81125050030
7654MARTINSALESMAN769828-9月-811250140030
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
-----------------------------------------------------------------------------------
7876ADAMSCLERK778823-5月-87110020
7900JAMESCLERK769803-12月-8195030
7369SMITHCLERK790217-12月-8080020
已选择14行。
SQL>setpagesize20
SQL>/
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
-----------------------------------------------------------------------------------
7839KINGPRESIDENT17-11月-81500010
7902FORDANALYST756603-12月-81300020
7788SCOTTANALYST756619-4月-87300020
7566JONESMANAGER783902-4月-81297520
7698BLAKEMANAGER783901-5月-81285030
7782CLARKMANAGER783909-6月-81245010
7499ALLENSALESMAN769820-2月-81160030030
7844TURNERSALESMAN769808-9月-811500030
7934MILLERCLERK778223-1月-82130010
7521WARDSALESMAN769822-2月-81125050030
7654MARTINSALESMAN769828-9月-811250140030
7876ADAMSCLERK778823-5月-87110020
7900JAMESCLERK769803-12月-8195030
7369SMITHCLERK790217-12月-8080020
已选择14行。
SQL>spooloff
实验报告书
实验名称
实践练习3:
数据操纵语句
姓名
蒋固金
成绩
学号
31011239
日期
2013/3/14
完成的主要任务
1)掌握数据更新的方法;
2)掌握序列的创建和使用;
3)掌握替换变量的使用。
实验步骤描述及知识点总结
1)连接sqlplus,执行命令:
spool‘c:
\exercise3.txt’。
2)执行以下语句为当前用户创建员工表。
createtableempasselectempno,enamefromscott.empwhere1=2;
3)执行以下语句创建序列,注意理解掌握语法格式。
createsequenceeno_se
startwith1000
incrementby10;
4)执行以下insert语句10次(注意:
这里使用替换变量)。
insertintoempvalues(eno_se.nextval,'&ename');
5)执行语句selecteno_se.currvalfromdual,查看结果。
6)执行语句:
insertintoempselectempno,enamefromscott.emp;实现将数据的批量插入。
7)查询emp表,观察数据。
8)编写sql语句执行,实现将工号为1030的员工姓名修改为‘MichaelJordan’。
9)编写sql语句执行,实现删除员工号为大于2000的员工。
10)执行语句:
truncatetableemp,实现将员工表清空。
回忆truncate语句于delete语句的区别。
执行命令:
spooloff,将文件c:
\exercise3.txt
遇到的问题、获得的帮助及解决方案
做第八步的时候,数据修改失败,原因为要修改的数据‘MichaelJordan’太长,不满足数据要求,解决方法为将‘MichaelJordan’改为‘Michael’
遗留问题
无
附:
SQL>createtableempasselectempno,enamefromscott.empwhere1=2;
表已创建。
SQL>createsequenceeno_se
2startwith1000
3incrementby10;
序列已创建。
SQL>insertintoempvalues(eno_se.nextval,'&ename');
输入ename的值:
00
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'00')
已创建1行。
SQL>/
输入ename的值:
11
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'11')
已创建1行。
SQL>/
输入ename的值:
22
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'22')
已创建1行。
SQL>/
输入ename的值:
33
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'33')
已创建1行。
SQL>/
输入ename的值:
44
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'44')
已创建1行。
SQL>/
输入ename的值:
55
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'55')
已创建1行。
SQL>/
输入ename的值:
66
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'66')
已创建1行。
SQL>/
输入ename的值:
77
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'77')
已创建1行。
SQL>/
输入ename的值:
88
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'88')
已创建1行。
SQL>/
输入ename的值:
99
原值1:
insertintoempvalues(eno_se.nextval,'&ename')
新值1:
insertintoempvalues(eno_se.nextval,'99')
已创建1行。
SQL>selecteno_se.currvalfromdual;
CURRVAL
----------
1090
SQL>insertintoempselectempno,enamefromscott.emp;
已创建14行。
SQL>select*fromemp;
EMPNOENAME
--------------------
100000
101011
102022
103033
104044
105055
106066
107077
108088
109099
7369SMITH
EMPNOENAME
--------------------
7499ALLEN
7521WARD
7566JONES
7654MARTIN
7698BLAKE
7782CLARK
7788SCOTT
7839KING
7844TURNER
7876ADAMS
7900JAMES
EMPNOENAME
--------------------
7902FORD
7934MILLER
已选择24行。
SQL>updateempsetename='Michael'whereempno=1030;
已更新1行。
SQL>deletefromempwhereempno>2000;
已删除14行。
SQL>truncatetableemp;
表被截断。
SQL>spooloff
实验报告书
实验名称
实践练习4:
数据查询1
姓名
蒋固金
成绩
学号
31011239
日期
完成的主要任务
1)掌握SELECT语句的基本结构;
2)掌握where子句各种操作符的用法;
实验步骤描述及知识点总结
在sqlplus中使用SQL语句完成如下操作:
1)连接sqlplus,执行命令:
spoolc:
\exercise4.txt。
2)编写select语句执行(下同),实现检索员工号在7800和7900之间的员工。
3)列出现有员工的工作种类。
提示:
要去除重复。
4)查询员工工号、姓名和新工资(工资加1000元后),新工资列名为“NEWSALARY”。
5)列出奖金为空的员工的工号和姓名。
6)列出姓名以字母‘J’开头的员工信息。
7)列出员工号
为7788、7800或7900的员工的姓名。
8)查询员工的姓名和年薪(注:
工资和奖金之和)。
9)查询