oracle数据库实用教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle数据库实用教程
简单查询
• 无条件查询 • 条件查询 • 排序 • 统计 • 分组统计
PPT文档演模板
oracle数据库实用教程
分组函数(统计函数)
• 完成对一组记录的统计处理
– count({*| [distinct|all] x}): 行数 – sum(x):数据列求和 – avg([distinct|all] x):数据列平均值 – max(x):列的最大值 – min(x): 列的最小值
year
year and century
87
1987 oracle数据库实用教程
日期型数据的格式说明
• 缺省日期型:dd-mon-yy select sysdate from dual;
系统:date,time
• 改变日期形式: • 1.本次会话
SQL> ALTER SESSION SET NLS_DATE_FORMAT='YY-MM-DD';
姓名 可变长字符串 10 非空 出生 日期型 电话 数字型 10 • 查看结构、查看内容
PPT文档演模板
oracle数据库实用教程
练习
• 1.增加字段 单位 可变长字符串 12 • 2.修改字段 出生 可变长字符串 5(原日期)
PPT文档演模板
oracle数据库实用教程
练习
• 插入数据 至少5条 • 修改数据 (根据条件) • 删除数据(根据条件)
AND SAL BETWEEN LOSAL AND HISAL
oracle数据库实用教程
等值连接和非等值连接
题目:查找工资级别为2的雇员的信息 。 要求显示的信息:雇员的姓名,部门的名称, 工资、工资级别
PPT文档演模板
SELECT ENAME,DNAME,SAL,GRADE FROM EMP,DEPT,SALGRADE WHERE GRADE=2
• 文件系统阶段
–软件进行数据管理,程序和数据分离 –数据冗余度大,数据和程序缺乏独立性 –文件之间不能建立联系
• 数据库系统阶段
– 数据具有更高的独立性 – 数据库管理系统-DBMS:数据库的定义、操作和管理
PPT文档演模板
oracle数据库实用教程
关系型数据库
• 关系型数据库 支持关系模型,以关系(表)形式组织数据。
PPT文档演模板
oracle数据库实用教程
非等值连接(NON-EQUIJOIN)
请分析下列语句: SELECT ENAME,SAL,GRADE FROM EMP,SALGRAD WHERE ENAME=‘SMITH’;
PPT文档演模板
SELECT *
SELECT ENAME,SAL,GRADEFROM SALGRAD; FROM EMP,SALGRAD WHERE ENAME=‘SMITH’
PPT文档演模板
oracle数据库实用教程
SQL*PLUS
PPT文档演模板
l 显示(l,l n ,l m n,l last) 1.显示命令
a 当前行末追加
c/old/new 更改
cl buff 清缓存
del 删除(n, last, m n)
i
加入(i, i text)
save filename 保存 edit、vi filename 编辑
• Month
– mm – mon – month
• Year
– yy
– yyyy
PPT文档演模板
number abbreviated spelledout spelled out,ordinal
12 fri Friday twelfth
number abbreviated spelled out
03 mar march
PPT文档演模板
oracle数据库实用教程
表
看scott用户有哪些表 然后查看其中一个表的结构和内容
#sqlplus scott/tiger sql>select table_name from tabs; sql>desc emp; sql>select * from emp;
(user_tables)
PPT文档演模板
oracle数据库实用教程
表内容
• 1.插入记录
sql>insert into table_name [column_name-a, …,column_name-x] values (column_value-a,…,column_value-x);
PPT文档演模板
oracle数据库实用教程
• 著名的关系型数据库 DB2,ORACLE,INFORMIX,SYBASE等。
• 关系型数据库=Datafile+RDBMS
PPT文档演模板
RDBMS
OS
DB datafile1 datafile2
oracle数据库实用教程
实验环境
• %telnet 200.1.1.115 • 用户名/口令:oracle8/oracle8 • %sqlplus scott/tiger • sql>connect scott/tiger • sql>show user • sql>quit
PPT文档演模板
oracle数据库实用教程
SQL语句中的函数
• 字符函数 – substr、length 、lower 、rtrim 、ltrim
• 数值函数 – abs 、mod 、round 、trunc 、nvl
• 日期函数 – months_between 、add_months 、next_day
表内容
• 2.修改记录
sql>update table_name set column_name1= values1,column_name2=values2 [where search_conditions];
PPT文档演模板
oracle数据库实用教程
表内容
• 3.删除记录 sql>delete [from] table_name [where search_conditions]; sql>truncate table table_name;
• RAW(n)
二进制数据 n<=2000
• LONG RAW(n)
n<=2G 可以存储声音、图片
DATE 缺省形式
‘DD-MON-YY’
ROWID 内部数据类型 (数据库序号.行序号.数据文件号)
NULL
PPT文档演模板
oracle数据库实用教程
日期型数据的格式说明
• Days
– dd – dy – day – ddspth
PPT文档演模板
oracle数据库实用教程
表结构
• 3.删除 1>删结构及内容 sql>drop table table_name;
PPT文档演模板
oracle数据库实用教程
事物处理
• 事物处理命令
提交:commit 回滚:rollback 保留点:savepoint
• SQL> SAVEPOINT CLARK_SAL; • SQL> ROLLBACK TO SAVEPOINT BLAKE_SAL;
• 2.下次启动后永久生效----改文件 设置INITSID.ORA中的NLS_DATE_FORMAT参数可改变缺 省日期的格式。
PPT文档演模板
oracle数据库实用教程
表结构
• 1.建立 sql>create table table_name (column_name1 datatype [not null|unique], column_name2 datatype [not null|unique], column_name2 datatype [not null|unique] );
•select field_name from table_name
oracle数据库实用教程
基本数据类型
CHAR[(n)] n<=255
VARCHAR2(n) n<=2000 字符串用单引号括起来
LONG(n) n<=2G
• NUMBER[(m[,n])] m精度(1-38) n小数后位数
• 转换函数 – to_char 、to_date
PPT文档演模板
oracle数据库实用教程
数据查询语言(DML)命令
• SELECT语句
SELECT <查询内容> FROM <表名> WHERE <条件> GROUP <分组内容> HAVING <组内条件> ORDER BY <排序内容>
PPT文档演模板
PPT文档演模板
oracle数据库实用教程
表
• 表---关系型DB数据组织的形式
• 报道表
– 空表--表的结构
– 白纸--设计一张表--多少项内容(列)--画表时,每项多宽
编号
姓名
单位
性别
– 列---字段;列类型( 宽、 类型)---数据类型(长度、类型) – 行---记录 – 表=列+行-------字段+记录
select ename,dname from emp e,dept d where e.deptno=d.deptno
PPT文档演模板
oracle数据库实用教程
非等值连接(NON-EQUIJOIN)
• 基于列的不等性来连接两张或多张表。
题目:请查找雇员SMITH的工资和工资等级情况, 希望显示的信息---员工名、工资、工资等级.
PPT文档演模板
oracle数据库实用教程
分组查询
练习:
1)编写SQL语句,从EMP表中返回---部门编号、部门平 均工资。 2)编写SQL语句,从EMP表中返回----部门编号、部门工资总和
条件是:部门工资总和大于8000。 3)编写SQL语句,从EMP表中返回----部门编号、部门平均工资
条件是:除了部门10,部门工资平均值大于1500的部门的情况。
表结构
• 2.变更
1>修改 sql>alter table table_name modify(column_name datatype );
2>增加 sql>alter table table_name add(column_name datatype );
PPT文档演模板
oracle数据库实用教程
• 查询:
SELECT col1,col2,分组函数
FROM table1
WHERE conditions
GROUP BY col1,col2
HAVING condition
ORDER BY col1,col2
SELECT选择的列,必须出现在GROUP BY 子句中; GROUP BY 子句中的列只能是SELECT选择的列或分组函数中的列。 顺序无关。
除count(*)外,当使用分组函数时,均忽略空值
PPT文档演模板
oracle数据库实用教程
分组函数(统计函数)
• 练习
PPT文档演模板
1 工资的平均值 2 奖金的最大值 3 工资的总和 4 最低工资 5 表中数据行的总数 6 有多少个不同的部门
oracle数据库实用教程
分组查询与排序
• 数据分组:对有重复值的列进行分组。
2. 命令修改 3.保存命令
start filename @filename
4.执行命令
oracle数据库实用教程
练习
• 建表 • 注意利用SQL命令缓冲区 • 插入、修改、删除数据(注意条件) • 提交、回滚
PPT文档演模板
oracle数据库实用教程
练习
• 表名txl-n • 结构:学号 数字型 3 唯一
PPT文档演模板
oracle数据库实用教程
多表查询---连接
• 等值连接 • 非等值连接 -------------------• 自连接 • 外连接
PPT文档演模板
oracle数据库实用教程
等值连接(EQUIJOIN)
• 基于列的相等性来连接两张或多张表。
题目: 查找雇员姓名及所在部门的名称.
oracle数据库实用教程
PPT文档演模板
2020/11/3
oracle数据库实用教程
什么是数据库?
• 数据库是管理数据的一种方法, • 如何组织和存储数据, • 如何高效地获取和处理数据。
PPT文档演模板
owk.baidu.comacle数据库实用教程
数据管理的发展的3个阶段
• 人工管理阶段
–无数据管理的专用软件,数据和程序在一起
PPT文档演模板
oracle数据库实用教程
表
• 表结构(DDL) • create table • alter table • drop table • truncate table
• 表内容(DML) • insert • update • delete
PPT文档演模板
•desc table_name
AND SAL BETWEEN LOSAL AND HISAL AND EMP.DEPTNO=DEPT.DEPTNO;
oracle数据库实用教程
自我连接(SELF JOIN)
• 将表连接到自身 – 在SQL语句中一个表暂时重新命名为两个表。