版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Oracle数据库 实验指导书 实验 Oracle9i的安装与配置 、实验目的: 1. 掌握Oracle9i的安装与配置过程 2. 掌握Oracle9l服务的启动与关闭 、实验内容: 1. Oracle9i的安装与配置过程 2. Oracle9I服务的启动与关闭 三、实验步骤、: 1 .启动 VMwareWorkstation,启动 windows2000server 2. 放入Oracle9i安装光盘第一张,开始在虚拟操作系统下安装Oracle 3. 配置客户端,添加服务命名,利用sqlplus进行试连接通过 Application Development Configuration an
2、d Migration Tools Enterpri,se Management Packs Enterprise Manager Quick Tours Integrated Management Tools Enterprise Manager Console Release Documentation Administration A Microsoft ODBC A Net Ccnfiguratio Net Manager Shortcut To D: 实验 Oracle基本知识与 SQL*PLUS环境 .目的和要求 熟悉Oracle 的基本知识。 熟悉Oracle 的命令操作环境SQ
3、L*PLUS 熟悉并掌握一些SQL*PLU命令。 二、实验内容: 1. SQL PLUS的基本命令 三、实验步骤: 1.连接数据库 sq Iplus /no log conn sys/demodemo as sysdba 2.练习下面的命令 APPEND text 或A text把字符串增加到当前行的末尾 CHANGE /old/new/ 或C/old/new/把当前行的旧字符串替换成新 字符串 CLEAR BUFFER 或 CL BUFF从SQL缓冲区中删除所有行 CONNECT userid/password 或CONN userid/password 在当前的登录下,击活其它的Oracl
4、e用户 DEL 删除当前行 DESCRIBE table name 或 DESC table name 显示任何数据库表的数据结构 EXIT 退出 SQL*Plus GET filen ame把以file name为名字的文件内容调入 SQL缓冲区中 INPUT插入许多行 HELP击活Oracle内部的帮助部件 HOST comma nd在SQL* Plus中击活一个操作系统命令 LIST显示SQL缓冲区的所有行 RUN显示并运行在缓冲区中的当前SQL命令 SAVE file name把SQL缓冲区中的内容保存到以file name为名字的 文件中,默认路径为 orawinbin START
5、file name或 file name运行以前保存的命令文件 实验三Oracle表的创建 一.目的和要求 1了解并掌握 2了解并掌握 定义。 3.了解并掌握 Oracle Oracle Oracle 中表结构的定义。 中的用Create命令定义表的方法,以及表的完整性 中的用Alter命令和Drop命令对表的修改和删除。 二.实验内容 1. 创建表EMP CREATE TABLE EMP NOT NULL P RIMARY KEY, (EMPNO NUMBERS) ENAME VARCHAR2(10), JOB VARCHAR2(10), MGR NUMBER(4), HIREDATE DA
6、TE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEP TNO NUMBER(2) NOT NULL); 用SQL*PLU命令DESCRIB来看生成的EMP表的列明细清单: 输入命令:DESCRIBE EMP EMP生成的数据表结构显示如下: 2. 从其他表中抽取字段生成数据表 CREATE TABLE EMP_P ART AS SELECT EMPN O,ENAME,JOB,SAL,COMM FROM EMP; 输入命令:DESCRIBE EMP_P ART EMP_Part生成的数据表结构结果显示如下: 3. DROP命令删除数据表 DROP TABLE EM
7、P_P ART; 4. 给数据表EmP增加一个字段SPOUSES_NAME ALTER TABLE EMP ADD (SPOUSES_NAME CHARO10) 输入命令:DESCRIBE EMP EMP生成的数据表结构显示如下: 5. 用ALTER的 MODIFY命令修改已存在的字段的定义 ALTER TABLE EMP MODIFY (ENAME VARCHAR22) 输入命令:DESCRIBE EMP EMP生成的数据表结构显示如下: 6. 用ALTER的DROP命令删除数据表中已存在的约束 ALTER TABLE EMP DROP P RIMARY;EY 7.创建表 CUSTOMER
8、create table customer( last_ name state_cd sales 8 .创建表STATE create table state( state_cd sate_ name varchar2 varchar(2), nu mber); (30) not null. varchar(2) not nu II, varchar2(30); 实验四 数据插入、修改和删除和查询 一.目的和要求 1 .在数据表中用Insert增加记录。 2. 用Up date修改数据表中的数据。 3. 用Delete删除表中的数据。 4了解事务处理过程及其命令。 二.实验内容 1 .用 In
9、sert 在基本表 customer SQLi nsert into customer values ( SQLi nsert into customer values ( SQLi nsert into customer values ( SQLi nsert into customer values ( SQLi nsert into customer values ( 2. 在表STATE中插入指定的字段 中插入数据 Nicholson , CA ,6989.99); Martin , CA ,2345.45); Laursen , CA ,34.34); Bambi , CA ,123
10、4.55); McGraw , NJ ,123.45); SQLi nsert into state (state_ name,state_cd) values ( Massachusetttes , MA ); SQLi nsert into state (state_ name,state_cd) 2 values ( California , CA ); SQLi nsert into state (state_ name,state_cd) 2 values ( NewJersey , NJ); SQLi nsert into state (state_ name,state_cd)
11、2 values ( NewYork , NY ); 3.修改数据 把 state 表中 NewYork改为 Florida ,NY改为FD: UP DATE state SET state n ame = where state_ name = 4. 删除数据 从 STATE表删除 state_name 为 Florida 和 state_cd 为 FD的记录: DELETE FROM STATE WHERE state_name = Florida AND sta te_cd = FD ; 5. 查询 1.显示EMP表中所有的部门号、职工名称和管理者号码: _Florida , state
12、_cd =FD NewYork and state_cd = NY ; SELECT DEP TNO,ENAME,MGR FROM EMP; 2. 算术运算符在SQL中的使用 SELECT ENAME, SAL+250*12 FROM EMP; 3. 连字符的使用 把职工号和职工名字连接起来,如下: SELECT EMPN O|ENAME EMP LOYEE FROM EMP; 把职工号和职工名字中间用-连接起来,并输出 WORNSI DEPARTMET 如下: SELECTEMPNO - |ENAMEEMPLOYEE,WORKSJ DEPARTMET DEPTNO FROM EMP; 4.
13、禁止重复 如果列举出EMP表中所有部门号: Select deptno from emp; 5. 排序 按单个字段排序,如按照ENAM排序, SELECT ENAME, JOB, SAL*12, DEP TNO FROM EMP ORDER BY ENAME; 按多个字段排序: 如按部门号升序,按工资降序排序 SELECT DEP TNO, JOB, ENAME FROM EMP ORDER BY DEP TNO, SAL DESC; 6.带条件的查询 1)查询工作是CLERK勺所有职工的姓名,职工号和部门号 SELECT ENAME, EMPNO, JOB, DEP TNO FROM EMP
14、 WHERE JOB CLERK; 2)从DE PT表中查询出部门号大于20的部门名称 SELECT DNAME, DEP TNO FROM DEPT WHERE DEP TNO 20; 3) 复合条件查询 查询工作是MANAGE并且工资大于1500,或者工作是SALESMA的职工信息: SELECT EMPNCENAMJE JOB,SAL,DEPTNO FROM EMP WHERE SAL1500 AND JOB MANAGEROR JOB =SALESMAN; 7. 操作符的应用 1)BETWEE的应用 查询工资在1000到2000之间的职工名字和工资信息。 SELECT ENAMESAL
15、 FROM EMP WHERE SAL BETWEEN 1000 AND 2;00 2) IN 查询有7902,7566,7788三个MGF号之一的所有职工: SELECT EMPNOENAME SAL,MGR FROM EMP WHERE MGR IN( 7902, 7566, 7788); En ter value for dep artme nt_nu mber:10 2)字符串变量输入: SELECT EMPNCENAM, SAL*12 FROM EMP WHERE JOB View created 。 2. 视图应用 从视图D10EM中查询出全部信息: SELECT * FROM D
16、10E MP ORDER BY ENAME; 3. 删除视图 DROP VIEW D10E MP; CREATE INDEX I_ENAME ON EMP( ENAME); 4.创建索引 CREATE UNIQUE INDEX l_EMPNO ON EMP(EMPN O); 5. 索引应用 如果查询语句如下则没有用到索引I ENAME SELECT ENAME,JOB,SAL FROM EMP; 如果查询语句如下则用到索引l_ENAME SELCT * FROM EMP WHERE ENAM=ONES; 6. 删除索引 DROP INDEX I_ENAME; 7. 创建一个用户 CREATE
17、USER MYSELF IDENTIFIED BY MY; 8修改用户口令 ALTER USER MYSELF IDENTIFIED BY ME 9.对象权限授权 把DEPT的SELECTS象权限授给MYSEL用户: GRANT SELECT ON DEPT TO MYSELF; 把EMP的SELECT权限授给所有用户: GRANT SELECT ON EMP TO P UBLIC; 从MYSEL收回所有DEPT的对象权限: REVOKE ALL ON DEPT FROM MYSELF 收回所有用户对EMP的SELECT权限: REVOKE SELECT ON EMP FROM P UBLIC
18、; 11.删除用户 DROP USER MYSELF 3.带输入参数的存储过程: 实验六PL/SQL程序设计 一. 目的和要求 1. 了解PL/SQL在Oracle中的基本概念。 2. 掌握PL/SQL的各组成部分。 3. PL/SQL的运用(存储过程,函数,异常)。 二. 实验内容 1 .在SQL*Plus中使用PL/SQL块处理 EMP表中职工号7788的职工,如果工资小于 3000那么把工资更改为 3000: SQLDECLARE X NUMBER(7,2); BEGIN SELECT sal INTO x FROM emp WHERE empno = 7788; IF x EXECUT
19、E p roc_execution 解雇给定职工号的职工,并调用 Proc_execution : SQLCREATE OR REP LACE P ROCEDURE fire_e mp (v_emp_no IN emp.empn o%ty pe) IS BEGIN pro c_executi on; DELETE FROM EMP WHERE empno = v_emp_no; END fire_e mp; P rocedure created. SQLEXECUT fire_e mp (7654) P L/SQL p rocedure successfully comp leted. 存储过
20、程删除了职工号7654的职工。 4. 带输入输出的存储过程 查询EMP中给定职工号的姓名、工资和佣金。 SQL CREATE OR REP LACE P ROCEDURE query_e mp (v_emp_no IN emp.empno %ty pe. v_emp_n ame OUT emp.en ame%t ype, v_emp_sal OUT emp .sal%ty pe, v_emp_comm OUT emp .comm%ty pe) IS BEGIN SELECT en ame, sal, comm INTO v_emp_n ame, v_emp _sal, v_emp_comm F
21、ROM EMP WHERE empno = v_emp_no; END query_e mp; P rocedure created. SQL VARIABLE emp_name varchar2(15); SQL VARIABLE emp_sal number; SQL VARIABLE emp_comm number; SQL EXECUTE query_e mp (7654,:emp_ name, :emp_sal, :emp_comm); P L/SQL p rocedure successfully comp leted. SQL P RINT emp_name; EMP_ NAME
22、 MARTIN SQL CREATE OR REP LACE FUNCTION get_sal (v_emp_no IN emp.empno %ty pe) RETURN number IS V_emp_sal emp. sal%t ype := 0; BEGIN SELECT sal INTO v_emp_sal FROM EMP WHERE empno = v_emp_no; RETURN (v_emp_sal); END get_sal; P rocedure created. SQLVARIABLE emp_sal number SQLEXECUTE :emp_sal := get_s
23、al(7654) P L/SQL p rocedure successfully comp leted SQL P RINT emp_sal EMP _SAL 1250 6.用异常处理完善程序 如例3中:解雇给定职工号的职工,并调用Proc_execution : SQL CREATE OR REP LACE P ROCEDURE fire_e mp (v_emp_no IN emp.empno %ty pe) IS BEGIN pro c_executi on; DELETE FROM EMP WHERE empno = v_emp_no; END fire_e mp; P rocedure
24、 created. SQLEXECUT fire_e mp (7654) 如果职工号7654的职工不存在则出错。为了避免出错我们使用了 EXCEPTION 语句。 SQL CREATE OR REP LACE P ROCEDURE fire_e mp (v_emp_no IN emp.empno %ty pe) IS BEGIN pro c_executi on; DELETE FROM EMP WHERE empno = v_emp_no; IF SQL%NOTFOUND THEN RAISE_A PP LICATION_ERROR (-20202,E mpio yee does not e
25、xists.); END IF; END fire_e mp; P rocedure created. SQLEXECUT fire_e mp (7654) 就不会出错了。 实验七触发器和游标 一. 目的和要求 1了解触发器的概念。 2.熟悉触发器的基本用法。 3了解游标的概念。 4.熟悉游标的基本用法。 二. 实验内容 1.声明显式游标 声明一个游标用来读取基表 EMP中部门号是20且工作为分析员的职工: DECLARE Cursor c1 IS SELECT en ame, sal, hiredate FROM emp WHERE deptno = 20 AND job = ANALYST
26、; v_en ame VARCHAR2(10); v_sal NUMBER(7,2); v_hiredate date; begi n OPEN c1; FETCH c1 INTO v_en ame, v_sal, v_hiredate; CLOSE c1; end; 2. 游标的应用 使用游标属性判断游标是否打开: IF c1% OPEN THEN FETCH c1 INTO v_en ame, v_sal, v_hiredate; ELSE OPEN c1; END IF; 利用循环读取数据: LOOP FETCH c1 INTO v_en ame, v_sal, v_hiredate ;
27、 EXIT WHEN C1%ROWCOUNT 10; END LOOP; 利用游标修改数据,如果 EMP中部门号是20,工作为分析员的职工工资小 于2000,更改为2000: DECLARE CURSOR c1 IS SELECT empno, sal, hiredate, rowid FROM emp WHERE deptno = 20 AND job = ANALYS FOR UP DATE OF sal; Emp_record c1%ROWT YPE; BEGIN OPEN c1; FETCH c1 INTO emp_record; IF emp_record.sal v/html S_
28、read.as p %Set my_conn = Server.CreateObject(ADODB.Co nn ectio n) Conn Stri ng=P rovider=MSDAORA.1;DataSource=demo1;User ld=user01; Password=lgc; my_Conn.Open Conn Stri ng set rs = server.CreateObject(adodb.recordset) sql =select * from stude nt rs.cursorlocati on=3 RS.o pen Sql,my_co nn ,1,1 res po
29、n se.write response.write 学号 v/TDxTD姓名 v/TDxTD牲别 v/TDxTD地 址 do while not rs.eof sno=rs(s no) sex=rs(sex) sn ame=rs(s name) address=rs(address) respon se.write res pon se.write &sno & respon se.write &sn ame & res pon se.write & sex & respon se.write & address & rs.move next res pon se.write loop respon se.write rs.close set rs=no thi ng % A HREF=STUDENT.HTM 返回 Stude nt.htm 学号:vinput typ e=text n ame=s no 姓名:vinput typ e=text n ame=s name 性别:vinput type=text name=se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水上乐园水泵施工合同
- 环卫工程文明施工合同
- 航空航天施工合同范本
- 体育馆场地锚施工协议
- 人才交流合作协议
- 企业合作投标保密协议书
- 智能城市弱电施工合同
- 汽车站装饰施工合同
- 2024证券承销合同的法定内容
- 2024年幼儿园共同办学合同
- 人音版一年级上册《其多列》课件PPT
- 人教版初中英语说课省一等奖课件(全英文)
- 高三年级班级成绩分析报告
- 报纸先生的故事
- 整形美容科品管圈PDCA汇报模板-通过综合性护理干预措施降低疤痕发生率
- 中学排球校本课程教材(小学也可用)
- 2023天然气井防硫化氢安全检查表
- 国际贸易业务流程图(完整资料)
- 植物检疫学知到章节答案智慧树2023年华南农业大学
- 国际海上人命安全公约
- 北师大版初一数学计算能力大赛
评论
0/150
提交评论