《大型数据库作业2》客户端的配置与应用

实验目的:
1、了解SQLPLUS连接数据库的方法
2、掌握SQLPLUS设置环境变量的操作方法
3、掌握利用SQLPLUS格式化查询结果的方法
4、掌握常用的SQLPLUS命令
5、掌握在SQLPLUS编写及运行SQL脚本的方法


实验步骤:

1、利用SQLPLUS连接oracle数据库


2、设置SQLPLUS的环境变量
pagesize
linesize



3、对SQLPLUS中的员工信息的查询结果进行格式化处理
查询所有员工信息



设置ename列名为“员工姓名”及对齐方式为“居中对齐”



设置sal列名为“薪水”,以“$12345.67"这样的格式显示(前面加货币符号,小数点保留两位)



设置ename 列占20个字符宽



清除上述操作的所有设置



为查询页添加页眉和页脚
ttitle ''
btitle ''



4、使用常用的SQLPLUS命令进行操作
DD: Data Dictionary

a.通过DD了解自己有哪些表等对象
b.了解要使用的特定表的结构
c.查询或存储所需要的数据


利用describe命令查看dept表的表结构



利用prompt命令显示特定信息



使用&替换变量



使用show命令查看环境变量
pagesize
linesize



5、编写及运行SQL脚本
利用SQLPLUS编写一段查询脚本,并保存在计算机的合适位置



利用记事本编写一段查询脚本,并保存在计算机的合适位置



利用SQLPLUS中的命令运行上述脚本



附加内容:
写出以下查询语句

列出薪水在2500以上的所有员工的信息



列出薪水在2500以上的所有员工的姓名及部门名称



列出总收入在2500以上的所有员工的信息



列出总收入在2500以上的所有员工的姓名及部门名称



查出各部门的名称、总人数及总月薪



查出在芝加哥上班的所有员工的姓名


sal+nvl(comm,0)

下面是题目和代码

--设置SQLPLUS的环境变量
set pagesize 14;
set pagesize 200;
--查询所有员工信息
SELECT * FROM emp;
--设置ename列名为“员工姓名”及对齐方式为“居中对齐”
CLOUM ename HEADING '员工姓名' JUSTIFY CENTER;
--设置sal列名为“薪水”,以“$12345.67"这样的格式显示
CLOUM sal HEADING  '薪 水'JUSTIFY CENTER FORMAT $99999.99;
--设置ename 列占20个字符宽
CLOUM ename FORMAT A20;
--清除上述操作的所有设置
CLOUM ename CLEAR;
CLOUM sal CLEAR;
--为查询页添加页眉和页脚
TTITLE '页眉';
BTITLE '页脚';
--利用describe命令查看dept表的表结构
DESC dept;
--利用prompt命令显示特定信息
PROMPT HelloWorld!!!!
--使用&替换变量
SELECT * FROM emp WHERE sal>&low;
--使用show命令查看环境变量
SHOW pagesize;
SHOW linesize;
--利用SQLPLUS编写一段查询脚本,并保存在计算机的合适位置
SELECT * FROM emp;
SAVE g:study/oracle/onetext.sql;
--利用SQLPLUS中的命令运行上述脚本
@g:study/oracle/onetext.sql;

--列出薪水在2500以上的所有员工的信息
SELECT * FROM emp WHERE sal>=2500;
--列出薪水在2500以上的所有员工的姓名及部门名称
SELECT ename,dname FROM emp,dept WHERE sal>=2500 AND emp.deptno=dept.deptno;
--列出总收入在2500以上的所有员工的信息
SELECT * FROM emp WHERE (sal+nvl(comm,0))>=2500;
--列出总收入在2500以上的所有员工的姓名及部门名称
SELECT ename,dname FROM emp,dept WHERE (sal+nvl(comm,0))>=2500 AND emp.deptno=dept.deptno;
--查出各部门的名称、总人数及总月薪
SELECT dname SUM(sal),COUNT(empno) from dept left join emp on emp.deptno=dept.deptno group by dname;
--查出在芝加哥上班的所有员工的姓名
SELECT ename FROM dept,emp WHERE (LOC='CHICAGO') AND (emp.deptno=dept.deptno);



注意:
1.clear 每次只能清楚一行;

2.输出查询内容可以使用
spool  xxxxxx
spool off
与save xxxxx 记得相区别;

3.left join  左连接

4.因为在oracle中 null不能参与运算,所以在做运算的时候需要用到nvl(a,0)函数,意思是a字段为null则转换为0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值