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)
部门表(dept)
工资等级表(SALGRADE)
一个公司工资是有等级制度,那么用此表表示一个工资的等级
奖金表(BONUS)
表示的是一个雇员的工资及奖金
范例:查询每月可以得到奖金的雇员信息
·奖金是comm字段
·只要字段中存在内容,则表示此内容不为空(null),如果存在内容,则会显示具体的值。
·不为空的表示:字段IS NOT NULL
范例:查询没有奖金的雇员
·没有奖金则comm字段的内容肯定是null,格式:字段IS NULL
范例:要求查询出,基本工资大于1500,同时可以领取奖金的雇员信息。
·此时应该是两个条件,而且两个条件必须同时满足
范例:要求查询出,基本工资大于1500,或者可以领取奖金的雇员信息。
范例:要求查询出,基本工资不大于1500,同时不可以领取奖金的雇员信息。
·此时相当于是整体的条件取反。
等价于
范例:查询基本工资大于1500,但是小于3000 的全部雇员信息。
·满足两个:sal > 1500 ,sal < 3000
在SQL语法中,提供了一个专门的指定范围查询的过滤语句:BETWEEN…AND…
例:使用BETWEEN…AND修改之前的操作
实际上BETWEEN … AND操作等价:sal>=1500 AND sal<=3000,包含了等于的功能。
范例:查询出在1981年雇佣的全部雇员信息
·1981年1月1日~ 1981年12月31日之间雇佣的雇员
结论:BETWEEN … AND查询除了可以支持数字之外,也可以支持日期的查询
·随着深入的学习会发现,日期实际上也是以数字的形式表示出来。
范例:要求查询出姓名是smith的雇员信息
执行以上的查询语句之后,并不会返回查询结果,再次查询数据库表的信息,发现smith是采用大写的形式表示的,在Oracle中是对大小写敏感的,所以此时在查询的时候必须以大写
范例:要求查询出雇员编号是7369、7499、7521的雇员的具体信息
·如果此时按照之前的做法,则设置条件要使用OR连接: