四川师范大学《oracle》实验报告

合集下载

oracle数据库实验报告

oracle数据库实验报告

oracle数据库实验报告《Oracle数据库实验报告》在当今信息化时代,数据库管理系统扮演着至关重要的角色。

Oracle数据库作为全球领先的企业级数据库管理系统,在各行各业都有着广泛的应用。

本次实验旨在通过对Oracle数据库的实验操作,深入了解其基本功能和特点,并探讨其在实际应用中的优势和局限性。

实验一:数据库的创建与连接在实验中,我们首先学习了如何使用SQL命令创建一个新的数据库,并通过用户名和密码连接到该数据库。

通过这一步骤,我们了解了Oracle数据库的基本操作流程,包括数据库的创建、用户的授权和连接等。

实验二:数据表的创建与管理在本次实验中,我们学习了如何使用SQL命令创建数据表,并进行数据的插入、查询、更新和删除操作。

通过这些操作,我们深入了解了Oracle数据库的数据管理功能,包括数据表的设计和维护等。

实验三:索引的创建与优化索引是数据库中非常重要的组成部分,能够提高数据的检索效率。

在本次实验中,我们学习了如何使用SQL命令创建索引,并通过优化查询语句来提高数据库的性能。

这些操作让我们更加深入地了解了Oracle数据库的优化功能,以及如何通过索引来提高数据库的性能。

实验四:备份与恢复数据库的备份与恢复是数据库管理中至关重要的一环。

在本次实验中,我们学习了如何使用Oracle数据库提供的工具进行数据库的备份和恢复操作。

这些操作让我们了解了数据库的灾难恢复功能,以及如何保障数据的安全性。

通过本次实验,我们深入了解了Oracle数据库的基本操作和功能,包括数据库的创建与连接、数据表的管理、索引的优化以及备份与恢复等。

同时,我们也发现了Oracle数据库在实际应用中的优势,如稳定性、安全性和性能优化等方面。

然而,我们也意识到Oracle数据库在一些特定场景下存在一定的局限性,如高昂的成本、复杂的配置和维护等。

总的来说,本次实验让我们更加深入地了解了Oracle数据库的特点和功能,对我们今后的数据库管理工作有着重要的指导意义。

Oracle实验报告模板

Oracle实验报告模板

实验报告实验名称:数据库的管理实验课时:2课时实验地点:知行楼305实验时间:年月日星期第周实验目的及要求:1)了解Oracle数据库的逻辑结构和物理结构。

2)熟悉Oracle的命令操作环境SQL*PLUS。

3)了解启动和关闭数据库的不同方式及其优缺点。

4)熟悉掌握各种启动、关闭方式。

实验环境:1)硬件设备:PC机一台2)操作系统:Windows XP3)应用工具:Oracle 11g实验内容:(算法、程序、步骤和方法)1、SQL*Plus的启动与关闭2、关闭数据库3、启动数据库4、改变数据库的状态5、使用DBCA创建数据库6、思考题小结:通过这次上机实验,我有以下收获:但是还上机操作过程中还存在以下几个方面的不足:指导老师评议:成绩:指导老师签名:年月日实验报告实验名称:表的管理实验课时:4课时实验地点:实验时间:年月日星期第周实验目的及要求:1)了解Oracle表和视图的概念。

2)熟练掌握使用SQL语句创建表。

3)学习使用SELECT语句查询数据。

实验环境:4)硬件设备:PC机一台5)操作系统:Windows XP6)应用工具:Oracle 11g实验内容:(算法、程序、步骤和方法)1)创建用户,指定密码、表空间。

用户名命名以本人姓名的缩写+_+学号后两位命名。

代码如下:2)创建如下表,将表保存到自己的用户方案中。

代码如下:3)为各表输入数据。

代码如下:4)查询每门课程被选修的学生数。

代码如下:5)查询出只选修了一门课程的全部学生的学号和姓名。

代码如下:6)查询男生、女生人数。

代码如下:7)查询姓“张”的学生名单。

代码如下:8)查询同名同姓学生名单,并统计同名人数。

代码如下:9)查询1981 年出生的学生名单。

代码如下:10)查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列。

代码如下:11)查询平均成绩大于85 的所有学生的学号、姓名和平均成绩。

代码如下:12)统计每门课程的学生选修人数(超过10 人的课程才统计)。

《Oracle数据库》实验报告

《Oracle数据库》实验报告

实验二Oracle数据库开发环境下PL/SQL编程(2学时)【实验目的】(1)掌握PL/SQL 的基本使用方法。

(2)在SQL*PLUS环境下运行PL/SQL的简单程序。

(3)应用PL/SQL 解决实际问题【实验内容与步骤】一、实验内容:1、用PL/SQL实现:输入eno的值,显示emp表中对应记录的内容。

2、用PL/SQL完成:读入三个数,计算并输出它们的平均值及三个数的乘积。

3、对职工表emp中的雇员SCOTT提高奖金,若工种为MANAGER,则奖金提高其原来的20%;若工种为SALESMAN,则奖金提高其原来的15%;若工种为ANALYST,则奖金提高其原来的10%,其它都按原来的7%提高。

4、用PL/SQL块实现下列操作公司为每个职工增加奖金:若职工属于30号部门,则增加$150;若职工属于20号部门,则增加$250;若职工属于10号部门,则增加$350。

(提示:游标请自行阅读相关内容)DECLAREaddcomm m%type;CURSOR emp_cursor IS select deptno from emp;BEGINFOR emprec IN emp_cursor LOOPIF emprec.deptno=30 THEN addcomm:=150;ELSIF emprec.deptno=20 THEN addcomm:=250;ELSIF emprec.deptno=10 THEN addcomm:=350;END IF;Update empset comm=comm+ addcomm where deptno= emprec.deptno;END LOOP;COMMIT WORK;END;实验三PL/SQL触发器和存储过程(2学时)【实验目的】(1)了解触发器的类型。

(2)掌握PL/SQL触发器的使用方法。

(3)了解存储过程的使用方法。

(4)掌握存储过程的使用方法。

【实验内容】实验内容:1、编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp 表中删除该部门的所有雇员。

oracle实训报告

oracle实训报告

oracle实训报告oracle实训报告Unix与数据库课程专业计算机应用技术学号308020xx533姓名赵彬彬实训内容:oracle9i在红旗4.1平台上的安装一.Oracle9.2.0.4安装步骤安装目录/oracle/binbin/product/9.2.01.安装环境检查首先检查软硬件环境是否满足要求。

要求:物理内存512M、安装所需磁盘空间约4G、临时存储空间如/tmp约1.5G、32位操作系统。

2.安装前准备(1)从FTP下载安装文件和所需的操作系统补丁文件。

3个安装文件:disk1.cpio、disk2.cpio、disk3.cpio1个操作系统补丁文件:p3006854_9204_LINUX.zip(2)创建目录#mkdirp/oracle/binbin/product/9.2.0(3)配置虚拟机的网卡为桥接模式,配置id地址为192.168.1.54。

利用ping 命令,测试主机是否与linux通信。

利用xftp工具,将上面四个文件传入oracle 目录下。

(4)用putty登陆linux。

创建安装Oracle数据库所要求的Linux用户和组:用户名oracle/oracle、组dba#groupadddba#useraddgdbaoracle#passwdoracle输入oracle再次确认密码(5)oracle用户需要对/oracle目录有全部权限,修改/oracle目录的所有者为oracle用户所有。

#chownRoracle:dba/oracle(6)以oracle用户登录系统,修改oracle用户主目录下的.bash_profile 文件,增加以下内容:#vi/home/oracle/.bash_profileexportORACLE_BASE=/oracle/binbinexportORACLE_HOME=/oracle/binbin/product/9.2.0exportORACLE_SID=binbinexportNLS_LANG=“SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”expor tPATH=$ORACLE _HOME/bin:$PATHexportORACLE_DOC=$ORACLE_HOME/docCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlibCLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12.zipCLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/nls_charset12.zipCLASSPATH=$CLASSPATH:$ORACLE_HOME/sqlj/lib/translator.zipCLASSPATH=$CLASSPATH:$ORACLE_HOME/sqlj/lib/runtime.zipCLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/*.jarCLASSPATH=$CLASSPATH: $JAVA_HOME/lib/*.jarCLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib/*.jarCLASSPATH=$CLASSPATH:.ex portCLASSPATHif[!$LD_LIBRARY_PATH];thenLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/jd bc/libexportLD_LIBRARY_PATHfiulimit-n65535>/dev/null2>&1(7)以root登录系统为操作系统打补丁。

Oracle实训报告

Oracle实训报告

ORACLE数据库开发实践报告要求1.实践名称:Oracle数据库开发2.实践题目:(1)Oracle数据库的操作(2)小型数据库系统的设计与开发3.实践目的:初步掌握Oracle关系数据库语言;掌握 Oracle的操作与使用;数据库的建立与管理、数据表的建立与操作等;PL/SQL语言的使用与编程。

4.实践内容与结果:4.1 Oracle数据库的操作4.1.1实践操作11、熟悉Oracle运行环境,理解存储管理器、方案管理器和安全管理器的作用及操作过程。

要求:(1).登录到存储管理器中,查看表空间和回滚段中的情况。

(2).登录到方案管理器中,查看SYS方案下的ACCESS$表。

(3).在SQL Plus环境下,键入下面内容,执行并观察结果。

•SQL>SET SERVEROUTPUT ON;•SQL>DECLARE• 2 n1 NUMBER:=18;• 3 n2 NUMBER:=6;• 4 BEGIN• 5 IF n2<=10 THEN• 6 n1:=n1+n2;•7 DBMs_Output.Put_Line(To_Char(n1));•8 END IF;•9 END;•10 /•4.1.2实践操作21、建立数据库(熟悉DBCA工具的使用)2、利用OEM创建新用户SOL语句:CREATE USER "MENG072" PROFILE "DEFAULT"IDENTIFIED BY "m" DEFAULT TABLESPACE "USERS"ACCOUNT UNLOCK;GRANT UNLIMITED TABLESPACE TO "MENG072" GRANT "CONNECT" TO "MENG072";GRANT "DBA" TO "MENG072";3、利用OEM创建Departments表(1)设置一般信息(2)设置约束条件SQL语句:CREATE TABLE "MENG072"."DEPARTMENTS" ("DEPARTMENTID" CHAR(3) NOTNULL, "DEPARTMENGTNAME" CHAR(20) NOT NULL, "NOTE"V ARCHAR2(100) NOT NULL, PRIMARY KEY("DEPARTMENTID")) 4、创建Employees表SOL语句:CREATE TABLE "MENG072"."EMPLOYEES" ("EMPLOYEEID" CHAR(6) NOT NULL, "NAME" CHAR(10) NOT NULL, "BIRTHDAY" DATE NOT NULL, "SEX"NUMBER(1) NOT NULL, "ADDRESS" CHAR(20) NOT NULL, "ZIP"CHAR(6) NOT NULL, "PHONENUMBER" CHAR(12) NOT NULL, "DEPARTMENTID"CHAR(3) NOT NULL, PRIMARY KEY("EMPLOYEEID"))5、创建Salary表SOL语句:CREATE TABLE "MENG072"."SALARY" ("EMPLOYEEID" CHAR(6) NOT NULL, "INCOME"NUMBER(8, 2) NOT NULL, "OUTCOME" NUMBER(8, 2) NOT NULL,PRIMARY KEY("EMPLOYEEID"))6、用PL/SQL语句创建表Departments、表Employees、表Salary:4.1.3实践操作31、用OEM向表Employ、表Departments、表Salary中各插入记录:(1)表Departments插入记录SOL语句:INSERT INTO "DEPARTMENTS" V ALUES ('1' ,'财务部' ,'1' ); INSERT INTO "DEPARTMENTS" V ALUES ('2' ,'人力资源部' ,'2' ); INSERT INTO "DEPARTMENTS" V ALUES ('3' ,'经理办公室' ,'3' ); INSERT INTO "DEPARTMENTS" V ALUES ('4' ,'研发部' ,'4' ); INSERT INTO "DEPARTMENTS" V ALUES ('5' ,'市场部' ,'5' ); (2)表Employ插入记录SOL语句:INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('000001' ,'王林' ,TO_DA TE('23-1月-1966', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'中山路32-1-508' ,'210003' ,'83355668' ,'2' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('010008' ,'伍荣华' ,TO_DA TE('28-3月-1976', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'北京东路100-2' ,'210001' ,'83321321' ,'4' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('020010' ,'王向荣' ,TO_DATE('09-12月-1982', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'四牌楼10-0-108' ,'210006' ,'83792361' ,'1' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('020018' ,'李莉' ,TO_DA TE('30-7月-1976', 'dd-Mon-yyyy HH:MI:SS AM') ,0 ,'中山东路102-2' ,'210002' ,'83413301' ,'1' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('102201' ,'刘明' ,TO_DA TE('02-9月-1965', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'虎踞路100-2' ,'210013' ,'83606608' ,'5' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('102208' ,'朱俊' ,TO_DA TE('10-8月-1979', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'牌楼巷5-3-106' ,'210004' ,'84708817' ,'5' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('108991' ,'忠民' ,TO_DA TE('01-10月-1974', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'中山路10-3-105' ,'210003' ,'83346722' ,'3' )(3)表Salary中插入记录SOL语句:INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('000001' ,2100.8 ,123.09 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('010008' ,1582.62 ,88.03 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('102201' ,2569.88 ,185.65 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('108991' ,3259.98 ,281.52 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('020010' ,2860.0 ,198.0 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('020018' ,2347.68 ,180.0 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('102208' ,1980.0 ,100.0 )2、用PL/SOL语句向表Employ、表Departments、表Salary中插入记录:4.1.4实践操作41、建立索引:2、实现域完整性:注:该同学此题完成有误,下面给出另一同学的正确解答为数据库中的employees表的phonenumber列建立check约束:3、实现实体完整性:(1)为表Departments设置主键DepartmentID:(2)为表Departments的DepartmentName建立唯一性索引:4实现参照完整性:4.1.5实践操作51、SELECT语句的基本使用:(1)查询每个雇员的所有数据:(2)查询每个雇员的地址和电话:(3)查询EmployeeID为000000的雇员的地址和电话:(4)查询Employees表中女雇员的地址和电话;(5)计算每个雇员的实际收入:(6)找出所有姓王的雇员的部门号:(7)找出所有收入在2000~5000元之间的雇员号码:2 子查询的使用(1)查找在财务部工作的雇员的情况:(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名:(3)查找比所有财务部的雇员收入都高的雇员的姓名:3.连接查询的使用(1)查询每个雇员的情况及其薪水的情况:(2)查找财务部收入在2200元以上的雇员姓名及其薪水情况:4.数据汇总(1)求财务部雇员的平均水平:(2)求财务部雇员的平均实际收入:(3)求财务部雇员的总人数:5.GROUP BY、ORDER BY 子句的使用(1)求各部门的雇员数:(2)将各雇员的情况按收入由低到高排列:6.视图(1)创建视图——限制查看雇员的某些情况:各部门经理只能查找本部门雇员的薪水情况:(2)使用视图查询财务部雇员的信息:查询财务部雇员薪水情况:向表EMPLOYEES中插入一条记录:从经理办公室转到市场部:从表EMPLOYEES中删除:4.1.6实践操作61.条件结构的使用例5.52.循环结构的使用例5.92.选择和跳转语句例5.134.自定义函数的使用例5.27例5.284.1.7实践操作71.创建触发器(1)修改DEPARTMENTS表中的DEPARTMENTID字段值(2)删除DEPARTMENTS表中一条记录的同时删除该记录DEPARTMENTID字段在EMPLOYEES表中对应的记录2.创建存储过程(1)添加职员记录的存储过程:(2)修改职员记录的存储过程;(3)删除职员记录的存储过程:3.调用存储过程4.1.8实践操作8 1.创建用户2.创建角色3.创建概要文件5.实践小结:在实训之前,我对Oracle一无所知,后来经过老师课上耐心细致的讲解,我对Oracle 渐渐有了较为清晰的认识。

《Oracle技术》实验报告5(答案)1

《Oracle技术》实验报告5(答案)1

《Oracle技术》实验报告实验名称PL/SQL编程(选作10题,程序另加附页)姓名学号日期专业班级实验目的(1)了解PL/SQL块的基本结构和分类。

(2)熟练掌握编写PL/SQL块的方法。

(3)了解PL/SQL存储过程、触发器、游标的作用。

(4)熟练掌握编写PL/SQL存储过工程的方法及维护过程。

(5)熟练掌握创建触发器的方法及维护过程。

(6)孰练掌握显式游标和隐式游标的使用。

实验内容(1)编写一个PL/SQL块,输出所有员工的员工名、员工号、工资和部门号。

BEGINFOR v_emp IN (SELECT * FROM EMP) LOOP DBMS_OUTPUT.PUT_LINE(v_emp.ename||’‘||v_emp.empno|| ’‘||v_emp.sal||’‘|| v_emp.deptno);END LOOP;END;/(2)编写一个PL/SQL块,查询名为“SMITH”的员工信息,并输出其员工号、工资、部门号。

如果该员工不存在,则插入一条新记录,员工号为2007,员工名为“SMITH”,工资为1500,部门号为10。

如果存在多个名为“SMITH”的员工,则输出所有名为“SMITH”的员工号、工资和部门号。

成绩DECLAREV_empno emp.empno%type;V_sal emp.sal%type;V_deptno emp.deptno%type;BEGINSELECT empno,sal,deptno INTOV_empno,v_sal,v_deptno FROM emp WHERE ename=’SMITH’;DBMS_OUTPUT.PUT_LINE(v_empno||’’||v_sal||’’||v_dept no);EXCEPTIONWHEN NO_DATA_FOUND THENINSERT INTO EMP(empno, ename,sal,deptno)V ALUES(2007,’SMITH’,1500,10);WHEN TOO_MANY_ROWS THENFOR v_emp IN (SELECT empno,sal,deptno FROM emp WHERE ename=’SMITH’) LOOPDBMS_OUTPUT.PUT_LINE(v_emp.empno||’‘||v_emp.sal|| ’‘||v_emp.deptno);END LOOP;END;/(3)创建一个存储过程,以员工号为参数,输出该员工的工资。

Oracle实验报告

Oracle实验报告

Oracle 数据库课程上机实验报告学院名称:专业班级:姓名:学号:实验成绩:任课教师:目录实验一 (3)实验三 ORACLE数据库结构与网络配置 (3)实验四 (8)实验五数据表及其操作 (10)实验六 SQL命令操作 (14)实验七创建索引 (21)实验一实验三 ORACLE数据库结构与网络配置实验内容与数据库结构相关的数据字典查询实验1、查看表空间的名称及大小2、查看表空间物理文件的名称及大小3、查看回滚段名称及大小4、查看控制文件5、查看日志文件6、查看表空间的使用情况7、查看数据库库对象8、查看数据库的版本9、查看数据库的创建日期和归档方式10、查看临时数据库文件常用数据库信息查看命令(1)oracle中怎样查看总共有哪些用户(2)查看oracle当前连接数(3)列出当前数据库建立的会话情况3.2 表空间操作●创建表空间●修改表空间的相关操作1)增加表空间中的数据文件2)删除表空间中的数据文件3)修改表空间文件的数据文件大小4)修改表空间数据文件的自动增长属性。

实验四实验五数据表及其操作实验内容5.1创建基本表以system用户登录sqlplus创建表空间创建Testpace表空间5.2修改表清空表中的数据5.3 删除表5.4聚集表(1)创建聚集(聚集表的创建与操作)引用参照完整性三表定义了suppliers,products,order details三表间的三个级联关系实验六 SQL命令操作实验内容6.1数据查询select创建student,sc,course三表,并且插入数据查询1:查询2:查询3:查询4;实验七创建索引实验内容7.1在emp表中的sal字段上创建一个名为index_sal的b树索引,按字段值的蒋序排序7.2 在dept表的dname字段上创建一个具有唯一性的b树索引,索引值为字母序排序。

7.3在emp表的ename和deptno字段上创建一个复合索引7.10将参数设置为跟踪状态,执行对emp表的查询命令,查看索引应用的跟踪结果。

oracle总实验报告

oracle总实验报告

实验一Oracle数据库创建及SqlPlus的启动与退出一、实验目的1、掌握使用DBCA建立、删除和管理数据库模板;2、掌握sqlplus工具的启动和退出;二、实验内容1、用DBCA建立数据库;2、用DBCA删除数据库;3、用SQL Plus测试数据库正确;4、用DBCA管理数据库模板;5、基于DOC方式启动和退出sqlplus(1)单击“开始”菜单,选择运行选项,在运行对话框中输入cmd,进入Dos控制台以后在提示符下键入sqlplus-?比如:sqlplus scott/tiger@sa(2)在sql提示符下使用输入查询语句“select * from scott.emp”。

(3)执行完成后,输入quit或exit命令返回Dos控制台。

6、基于Windows方式启动与关闭sqlplus(1)单击“开始”按钮,在程序组中选择\Oracle-orahome92\application development\sql plus 选项。

在打开的对话框中输入用户名、密码和服务器名进行登陆。

(2)当成功连接后,可以来验证:比如输入查询语句:select * from scott.emp。

(3)使用Disconnect命令中断与数据库的会话连接;如果再次连接可以使用Connect命令。

比如输入connect system/manager@sa。

(4)如果想更改口令,可以使用Password命令。

(5)如果想从SQL*PLUS中退出,在SQL提示下输入Quit或Exit返回到Windows界面。

三、实验过程与步骤:1、用DBCA建立数据库;(1) 启动DBCA后,出现欢迎画面后,选择创建数据库,单击下一步。

(2) 选择数据库类型(3) 输入全局数据库名称和SID(4)设置数据库选项(5)创建数据库过程2、用DBCA删除数据库;过程同建立数据库相同,在选择时,要选择删除数据库。

3、用SQL Plus测试数据库正确;(使用Connect命令)4、用DBCA管理数据库模板;过程:开始——所有程序——DBCA——管理模板——下一步……5、基于DOC方式启动和退出sqlplus(1)单击“开始”菜单,选择运行选项,在运行对话框中输入cmd,进入Dos控制台以后在提示符下键入sqlplus-?比如:sqlplus scott/tiger@sa(2)在sql提示符下使用输入查询语句“select * from scott.emp”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

声明:此文档只作为学习参考,不得用作它途!实验一了解ORACLE环境,使用ORACLE数据库实用工具1.目的要求:了解ORACLE数据库的各个常用工具软件2.实验内容:在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer 工具,企业管理器等实用工具与Oracle交互。

并在企业管理器中观察ORACLE的底层存储原理。

在PL/SQL Developer中书写简单的SQL语言。

3.主要仪器设备及软件1)PC2)ORACLE数据库实验二熟悉SQL语言1.目的要求在SQL*PLUS或PL/SQL Developer工具中编写SQL语句2.实验内容在ORACLE 数据库中定义用户,给用户赋权限,创建,修改和删除表格,视图等数据库对象,并向表格中插入,修改和删除数据。

体会SQL语言中ORACLE的“方言”。

对自己建立的表做查询:包括单表查询,多表查询,嵌套查询,分组查询,相关查询3.主要仪器设备及软件1)PC2)ORACLE数据库自定义用户:create user taozi identified by taozi;给用户赋DBA权限:grant dba to taozi;创建表格 student,sc,course:Create table student(sno char(10) primary key,sname varchar(20) not null,sage smallint,ssex char(2),sdept varchar(20));Create table course(cno char(10) primary key,cname varchar(50) not null,credit smallint);Create table sc(sno char(10),cno char(10),grade smallint,primary key(sno,cno));创建视图:create view oracle as (select sno,sname,sage from student);删除视图:delete oracle;为student 表增加一列 jiguan: alter table student add jiguan varchar(10);删除jiguan 列:alter table student drop column jiguan;删除student 表结构:drop table student;插入数据:insert into student values('004','AA','21','f','MA');insert into student values('005','BB','20','m','CS');insert into student values('006','CC','20','m','E');修改数据:update student set sname='DD' where sno='006';删除数据:delete student where sno='004' or sno='005' or sno='006';单表查询select * from student where sno='009';多表查询:查询001号学生选修课成绩大于或等于85分的课程名及成绩select sname,cname,grade from student,sc,course where student.sno='001' and grade>=85;嵌套查询:查询选修了软件工程学生的学号select sc.sno from sc,course where o=o ando=(select cno from course where cname='软件工程');分组查询:查询所有学生的姓名、所选课程的课程名,课程号和成绩,并按成绩降序和课程号升序排序。

select sname,cname, o,grade from student sc,course student where sc.sno=s.sno and o=o order by grade desc,cno asc;相关查询:查询所有学生都选修了的课程名及课程号select cno from sc group by cno having count(*)>=(select count(*) from student );实验三实现简单的PL/SQL程序1.目的要求编写简单的PL/SQL程序,熟悉PL/SQL编程环境2.实验内容在SQL*PLUS或PL/SQL Developer工具中编写PL/SQL的简单程序,熟悉PL/SQL 的编程环境和代码结构。

实现与Oracle数据库交互,并捕获和处理常见系统异常和用户自定义异常。

3.主要仪器设备及软件1)PC2)ORACLE数据库预定义异常处理查询课程“java”的课程号,若未成功,则提示异常v_cno varchar(40);beginselect cno into v_cno from course where cname='java';dbms_output.put_line('java对应的课程号是:'||v_cno);exception when no_data_found thendbms_output.put_line('该课程不存在。

');end;查询既选修了001又选修了002课程的学生的学号,未成功则提示:该学生不存在。

declarev_sno varchar(40);beginselect sno into v_sno from sc where cno='001'and sno=(select sno from sc where cno='002');dbms_output.put_line('既选修了001又选修了002课程的学生:'||v_sno);exception when no_data_found thendbms_output.put_line('ERROR:该学生不存在!');end;查询“周源”的学号,若未成功,则插入‘周源’信息:学号59,性别F,学院CS 查询既选修了001又选修了002课程的学生的学号,未成功则提示:该学生不存在。

declarev_sno varchar(40);beginbeginselect sno into v_sno from student where sname='DD';dbms_output.put_line('DD的学号是:'||v_sno);exception when no_data_found thendbms_output.put_line('error:该学生不存在,插入该学生信息');insert into student(sno,sname,ssex,sdept) values('59','DD','F','CS');commit;end;select sno into v_sno from sc where cno='001'and sno=(select sno from sc where cno='002');dbms_output.put_line('既选修了001又选修了002课程的学生:'||v_sno);exception when no_data_found thendbms_output.put_line('ERROR:该学生不存在');end;exception when no_data_found thendbms_output.put_line(sqlerrm);end;实验四在PL/SQL中使用游标1.目的要求在PL/SQL中使用无参数的游标和带参数的游标处理结果集2.实验内容在PL/SQL程序中使用游标来处理结果集,分别使用fetch, while和For循环来遍历查询结果集中的每一条记录,并对这些记录进行判断和处理,将处理的结果格式化打印出来。

使用带参数的游标来传递查询条件,使程序更加灵活实用。

实现下面功能:使用游标实现:将某门课程高于平均分的学生的姓名,课程名,成绩格式化输出。

3.主要仪器设备及软件1)PC2)ORACLE数据库--将某门课程高于平均分的学生的姓名,课程名,成绩格式化输出。

declarecursor c1 isselect s.sno,sname,o,cname,grade from student s,course c,scwhere s.sno=sc.sno and o=o and s.sno in(select sno from sc where grade>(select avg(grade) from sc wherecno=o)) order by s.sno asc;T c1%rowtype;a_sno varchar2(20):='null';beginopen c1;dbms_output.put_line(rpad(' ',15,' ')||rpad('=',30,'=')||rpad(' ',15,' '));dbms_output.put_line(rpad(' ',22,' ')||rpad('考试成绩信息',20,' '));dbms_output.put_line(rpad(' ',15,' ')||rpad('=',30,'=')||rpad(' ',15,' '));loopfetch c1 into T;exit when c1%notfound;if a_sno!=T.sno thendbms_output.put_line(rpad(' ',50,' '));dbms_output.put_line(rpad('--',50,'--'));dbms_output.put_line(rpad(' ',50,' '));dbms_output.put_line(rpad(' ',12,' ')||'学生姓名:'||T.sname);dbms_output.put_line(rpad(' ',5,' ')||rpad('=',30,'='));dbms_output.put_line(rpad('课程号',20,' ')||rpad('课程名',20,' ')||rpad('成绩',20,' '));dbms_output.put_line(rpad('=',10,'=')||rpad(' ',8,' ')||rpad('=',10,'=')||rpad(' ',9,' ')||rpad('=',10,'='));a_sno:=T.sno;end if;dbms_output.put_line(o||ame||T.grade);end loop;close c1;end;实验五实现过程,包,函数的编写1.目的要求使用PL/SQL语言编写过程,包和函数2.实验内容创建存储过程,包和函数,并能通过参数将结果传递出去。

相关文档
最新文档