实验2 SQL*Plus工具的使用
一、实验目的
1.了解SQL*Plus工具的功能;
2.熟练掌握SQL*Plus工具连接与断开数据库的多种方式;
3.熟练掌握SQL*Plus常用命令的使用。
二、实验环境
1.硬件
每位学生配备计算机一台,满足下列软件的安装;
2.软件
Windows操作系统,安装Oracle Database 11g企业版;
3.网络
需要局域网支持;
4.工具
无
三、实验理论与预备知识
1.SQL*Plus工具连接数据库;
2.SQL*Plus工具的常用命令。
四、实验任务
1.SQL*Plus工具连接与断开数据库;
2.SQL*Plus工具的常用操作;
3.创建报表。
五、实验内容及步骤
1.SQL*Plus工具连接与断开数据库
(1)连接到默认数据库
具体步骤:
1)启动相应的数据库服务;
2)选择【开始】→【所有程序】→【Oracle-OraDB11g_Home1】→【应用程序开发】→【SQL Plus】,即可打开SQL*Plus工具的登录页面;
3)根据提示输入正确的用户名和口令,按回车键,则可以连接到默认数据库;4)连接到数据库之后,显示SQL>提示符,可以输入相应SQL命令;
(2)连接默认数据库的其他方式
方式1:指定某个用户身份
选择【开始】→【附件】→【运行】,输入命令“sqlplus system/123456 ”,如图4-1所示;
图2-1 连接Oracle数据库
单击【确定】按钮,可直接进入新的SQL*PLUS主界面,如图2-2所示;
图2-2 SQL Plus主界面
方式2:以sys dba身份登录数据库
选择【开始】→【运行】,输入命令“sqlplus "/as sysdba" ”,单击【确定】按钮,可直接进入新的SQL*PLUS主界面,如图2-3所示;
图2-3 SQL Plus主界面
备注:Oracle允许windows的ORA_DBA用户组中的成员以sysdba身份登录数据库时不必输入数据库用户名和口令,而当前的windows用户为Administrator,为ORA_DBA用户组成员,所以这里可以省略用户名和口令即可登录到数据库;
方式3:以sys身份登录
启动SQL*PLUS的登录窗口,在“请输入用户名”的提示符后面输入“sys as sysdba”,输入密码,如图2-4所示,按回车键可登录SQL*PLUS主界面。
图2-4以sys身份登录SQL Plus主界面
方式4:
启动SQL*PLUS的登录窗口,在“请输入用户名”的提示符后面输入用户名和密码,如“system /123456”,如图2-5所示,按回车键可登录主界面;
图2-5 登录SQL Plus的不同方法
备注:在“请输入用户名”的提示符后面直接输入用户名和密码的方式也可登录Oracle数据库,只是这种方式会显示出口令信息,容易造成安全隐患。
方式6:
启动SQL*PLUS的登录窗口,在“请输入用户名”的提示符后面输入“conn / as sysdba;”,按回车键可登录主界面,如图2-6所示;
图2-6 登录SQL Plus的不同方法
(3)连接到指定数据库
选择【开始】→【运行】,输入命令“sqlplus system/123456@orcl ”,单击【确定】按钮,如图2-7所示,可连接到orcl数据库;
图2-7连接到指定数据库
(4) 切换Oracle 账户
在SQL*Plus 中连接数据库时,可以使用CONNECT 命令指定不同的登录用户,连接数据库后,SQL*Plus 维持数据库会话;如果当前身份是system ,需要登录sys 身份,则可直接在SQL*Plus 中输入命令“ conn sys as sysdba ”,如图2-8所示;
图2-8切换用户登录身份
任务1:以用户system 身份连接数据库orcl ,请描述成功切换到scott 用户身份登录数据库的具体操作(备注:scott 默认是锁定状态); (5) 断开数据库连接 如果需要断开与数据库的连接,可以使用DISCONNECT 命令,该命令可以结束当前会话,但是保持SQL*Plus 运行,如图2-9所示。
ALTER USER scott ACCOUNT
USER scott IDENTIFIED BY tiger;
图2-9断开数据库连接
2.SQL*Plus工具的常用操作
(1)使用SQL*Plus基本命令
在SQL*Plus环境下,执行如下操作,请在实验报告中简要描述语句运行结果及功能作用;
1)SQL>select name from V$DATABASE;
2)SQL>select * from v$instance;
3)SQL>select username,account_status from dba_users;
4)SQL>desc dba_data_files;
5)SQL>desc scott.emp;
6)SQL>select * from scott.emp;
7)SQL>select file_name,file_id,bytes from dba_data_files;
8)SQL>select distinct segment_type, owner, tablespace_name from dba_segments where tablespace_name=’SYSTEM’order by owner,
segment_type;
9)SQL> select owner, table_name,tablespace_name, initial_extent from dba_tables where owner=’SYS’;
10)SQL>create table emp(ename varchar(10),hiredate date, sal number); (2)使用DESCRIBE命令,在实验报告中描述scott用户的dept表的结构信息;(3)使用SAVE命令将目前缓冲区内容保存到D:\Oracle_1.sql文件中,然后使用START命令将文件中的内容读入到缓冲区并执行,请在实验报告中描述具
体操作过程;
(4)对scott用户的emp表的输出信息进行格式设置,其中,empno列标题设置为“员工编号”,NUMBER格式为“9999”;ename列标题设置为“员工姓名”;hiredate列标题设置为“受雇日期”且居中显示;请在实验报告中描述具体操作;
(5)设置一页显示20行数据,且一行显示100字符,然后输出scott用户的emp表的全部信息,请在实验报告中描述具体操作;
(6)请执行Oracle数据库中清除某个列或者所有列的格式设置的语句,并在实验报告中描述;
3.创建报表
使用报表统计scott用户的emp表中各部门人数
具体步骤:
1)设置页眉和页脚信息;
执行SQL语句:
TTITLE LEFT '日期:' _DATE CENTER '使用报表统计各部门人数'
BTITLE CENTER '谢谢使用该报表'
2)设置每页的行数及每行的字符数;
执行SQL语句:
SET PAGESIZE 40
SET LINESIZE 100
3)格式化列的显示;
执行SQL语句:
CLEAR COLUMNS
COLUMN empno HEADING '员工编号' FORMAT 9999
COLUMN ename HEADING '员工姓名' FORMAT A10
COLUMN hiredate HEADING '受雇日期' JUSTIFY CENTER
COLUMN sal HEADING '员工工资' FORMAT $999,999.99
COLUMN deptno HEADING '部门编号' FORMAT 9999
4)SQL查询
执行SQL语句:
select deptno,count(empno) from emp group by deptno;
5)清除以上格式
执行SQL语句:
CLEAR COLUMNS
TTITLE OFF
BTITLE OFF
6)保存为D盘test.sql文件;
执行SQL语句:
SAVE D:\test.sql
7)读取并执行test.sql文件;
执行SQL语句:
START D:\test.sql
任务1:请使用报表统计scott表中的用户人数,并在实验报告中描述具体实现步骤。
六、实验分析
1.登录SQL*Plus有多种方式,请描述至少5种不同的登录方法;
2.登录SQL*Plus时有多种不成功的情况,请简要描述并指出解决方法;
3.要退出SQL*Plus连接,可执行disconn,也可以执行EXIT、QUIT命令,请比
较这三个命令在退出SQL*Plus的区别和联系;
4.请分析SQL*Plus中,GET命令和START命令的功能是什么,有何不同?
七、课外自主实验
无
八、实验扩展资源
1.图书
(1)王彬,周士贵.Oracle 11g基础与提高[M].电子工业出版社,2008.
(2)Oracle Database 11g数据库管理艺术[M].人民邮电出版社,2010.
2.期刊论文
3.在线学习平台
(1) 4.其他资源
(1)/cn (2)https://。