Oracle数据库学习资料课件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle的历史
•Oracle 公司( 甲骨文) 创始人: Larry Ellison 32岁,公司提供数据库服务.
•公司成立于1977 年, 83 年公司更名为Oracle ,原名为”软件开发实验室”.
•Oracle 数据库适用于大型企业
•竞争对手
–微软的SQLServer
–IBM 的DB2
•目前的版本
– 2.0~7.0 , 8.0 , 8i , 9i , 10g
Oracle的服务:
我的电脑右键选择管理--服务和应用程序—服务
这几个服务之间的关系:
启动顺序:1、Oracle
2、OracleServer
3、OracleDBConsole
SqlPlus
SqlPlus是Oracle任何版本都自带的数据库操作工具,使用它可以完成大部分的数据库操作。
SqlPlus可以“开始→程序→Oracle”启动,也可以命令行启动(互动)
1.命令行启动sqlPlus
sqlplus 用户名/密码@orcl
或
sqlplus 用户名@orcl
如果用户是管理员要在sqlplus 用户名/密码@主机字符串as sysdba “/”是用户名和密码分隔符号
“@”是密码和数据库的分隔符号
“orcl”是数据库的名称,在安装时指定
常用命令(互动)
connect 切换用户
show user 显示当前用户
set linesize 1000 设置行显示长度
set pagesize 1000 设置分页长度
desc dept 查看表结构
select table_name from user_tables
查询当前用户的表
/ 运行上一条SQL语句
clear screen 清除屏幕
edit 编辑
spool d:/a 保存输出结果到某个位置
spool off 保存结束
quit 退出
list 查看最后一条语句
@ 文件名.sql 运行外部文件中的SQL语句
Sql*plus的常用命令
是一个oracle提供的工具,使用此工具可以完成数据库的操作和管理。SQL*Plus有两种工作方式:
1、基于图形界面的---sqlplusw
2、基于命令行的---sqlplus
Sql*plus 中可以执行3种类型的命令:
1、SQL语句
2、PL/SQL语句
编写一个存储过程,向test表中插入20条记录。
3、SQL*Plus内部命令
这些命令用于设置SQL*Plus的环境或格式化输出结果。
例如:改变EMP表里SAL列的输出格式
使用SQL*Plus可以执行操作系统本身的命令:
例如:在windows下的记事本notepad.exe
退出SQL*Plus返回操作系统:
帮助提示:
清除屏幕:
SQL*Plus编辑命令
运行缓冲区的命令:
RUN 或/
保存缓冲区中的内容为.sql文件:
编辑或者读取命令文件.sql:
EDIT 文件名;
在SQL文件中的注释有3种方法:
使用SQL*Plus的REMARK命令;
使用SQL注释分界符/*......*/
使用ANSI/SQL的“--”型注释
读取命令文件在SQL*PLUS中:
运行.sql文件中的指令:
START或@,@使用更多
建议:尽量使用记事本编写代码,这样有利于修改。
所需要的表
在所有的讲解中所要使用到的表全部都是scott用户下的表,所以必须了解在此用户下有那几张表,以及每张表的作用是什么。
避免出现汉字,因为实际开发中容易出现乱码问题。
雇员表(emp)
雇员表(EMP)
No. 字段类型描述
1 EMPNO NUMBER(4) 表示雇员编号,是唯一编号
2 ENAME VARCHAR2(10) 表示雇员姓名
3 JOB VARCHAR2(9) 表示工作职位
4 MGR NUMBER(4) 表示一个雇员的领导编号
5 HIREDATE DATE 表示雇佣日期
6 SAL NUMBER(7,2) 表示月薪,工资
7 COMM NUMBER(7,2) 表示奖金,或者称为佣金
8 DEPTNO NUMBER(2) 部门编号
部门表(dept)
表示一个个具体的部门信息部门表(dept)
No. 字段类型描述
1 DEPTNO NUMBER(2) 部门编号,是唯一编号
2 DNAME VARCHAR2(14) 部门名称
3 LOC VARCHAR2(13) 部门位置
工资等级表(SALGRADE)
一个公司工资是有等级制度,那么用此表表示一个工资的等级
工资等级表(SALGRADE)
No. 字段类型描述
1 GRADE NUMBER 等级名称
2 LOSAL NUMBER 此等级的最低工资
3 HISAL NUMBER 此等级的最高工资
奖金表(BONUS)
表示的是一个雇员的工资及奖金
奖金表(BONUS)
No. 字段类型描述
1 ENAME VARCHAR2(10) 雇员姓名
2 JOB VARCHAR2(9) 雇员工作
3 SAL NUMBER 雇员工资
4 COMM NUMBER 雇员奖金(佣金)
范例:查询每月可以得到奖金的雇员信息
·奖金是comm字段
·只要字段中存在内容,则表示此内容不为空(null),如果存在内容,则会显示具体的值。
·不为空的表示:字段IS NOT NULL
SELECT * FROM emp WHERE comm IS NOT NULL ;
范例:查询没有奖金的雇员
·没有奖金则comm字段的内容肯定是null,格式:字段IS NULL