oracle数据库 总结

简介: 数据库概念 oracle数据库 一组:数据文件、控制文件、日志文件 oracle实例,它与数据库的关系 oracle实例:实例就是数据库启动后分配的内存和建立的后台进程. 数据库关闭后,物理上的文件还存在,但实例(分配的内存和建立的进程)就没有了 数据库:物理操作系统文件或磁盘(disk)的集合。 关系:  实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进

数据库概念
oracle数据库
一组:数据文件、控制文件、日志文件

oracle实例,它与数据库的关系
oracle实例:实例就是数据库启动后分配的内存和建立的后台进程. 数据库关闭后,物理上的文件还存在,但实例(分配的内存和建立的进程)就没有了
数据库:物理操作系统文件或磁盘(disk)的集合。

关系:  实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件)。
    在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过来也成立:一个数据库上只有一个实例对其进行操作。
    不过,Oracle的真正应用集群(Real Application Clusters,RAC)是一个例外,这是Oracle提供的一个选项,允许在集群环境中的多台计算机上操作,
    这样就可以有多台实例同时装载并打开一个数据库(位于一组共享物理磁盘上)。


数据库中的数据类型:
数字:mysql db2-----short integer long float double
      oracle--------number(30),number(30,3)
字符/字符串:char(10)     varchar2(10)
日期和时间:date(年、月、日、小时、分钟、秒) timestamp()(时间戳)
oracle数据库模式日期格式:03-3月-08   03-Mar-08
大对象(Characterlob/Binary lob)


主键应该具备的特征:
1.不能为null
2.主键必须唯一

where name like '\%' escape '\'

字符:
upper
lower
initcap
substr
replace
instr
length
lpad/rpad
trim
concat--------||

select substr(last_name,1,1)||lpad(last_name,sbustr(last_name,2,length(last_name)-1,'*')

replace(last_name,substr(last_name,2,leghth(last_name)-2),lpad('',length(last_name)-2,'*')

日期:
months_between
add_months()
next_day()
last_day()

数字:
round(2333,2)
trunc
mod

round(sysdate,'month/year')

类型转换的函数
to_char to_date to_number

to_char(数字/日期,'fm')

to_char(sysdate,'fmyyyy-mm-dd "fdfdfdfd" HH24:MI:SS am')


to_char(234567,'fm99,999.00000')


to_date('20-3月-58')
to_date('[2008-02-08]','[yyyy-mm-dd]')

RR
68

通用函数:
nvl(commission_pct,0)----第一个表达式为null,返回第二个表达式的值,否则返回第一个表达式的值
nvl(commission_pct,1,0)--第一个表达式为null,返回第三个表达式的值,否则返回第二个表达式的值
nullif(last_name,first_name)--如果第一个表达式和第二个表达式的值相同,返回null,否则返回第一个表达式的值
decode()


lpad('',round((salary*12+salary*12*nvl(commission_pct,0))/1000),'*')

多表的查询两种方法:
连接查询
内连接:等值连接、非等值连接、自然连接。。。
外连接:左、右、全外连接

笛卡尔集----子集
select * from users u,orders o where u.id=o.user_id and ;
select * from users u join orders o on u.id=o.user_id;

cross join

select a.dd,b.dd,c.dd from A a,B b,c c where a.pk=b.id and b.id=c.fk

employee
1 A  500
2 B 660
3 c 1000
4 d 4000

level
id name minsalary maxsalay
1 A级   5000       10000
2 B级   3000       5000
3 C级   1000       3000
4 D级   400        1000

A  D级
B  D级
C  C级
D  B级

select e.name,l.name from employee e,level l where e.salary between l.minsalary and l.maxsalary;

1 A 500 4 D级   400        1000
2 B 660 4 D级   400        1000
3 C 1000 3 C级   1000       3000
4 d 4000 2 B级   3000       5000



select * from users u left/right/full outer join orders o on u.id=o.user_id;


Oracle写外连接的简便的方式:
select * from users u,orders o where u.id(+)=o.user_id;


select * from departments nature join loctions------两个表的主外键必须同名,同类型
同名,类型不一致
select * from deparments join locations using(location_id);


select * from departments d,locations l where d.location_id=l.locations_id;

select e.last_name,e.job_id,d.department_name,e.salary,jg.grade_level from employees e,departments d,job_grades jg where e.department_id=d.department_id and e.salary between jg.minsalary and jg.maxsalary;

USERS(id,name,birth)

insert into users(id,birth) values(1,to_date('1998-01-01','fmyyyy-mm-dd'));
insert into users values(1,'abc',to_date('1998-01-01','fmyyyy-mm-dd'));

delete users where last_name='zhangsan';



SQL:结构化查询语言,select
DML:数据操纵语言:insert update delete
DCL:数据控制语言:commit rollback。
事务:一组SQL语句的单元(DML语句为主)
DDL:数据定义语言:create table users()


insert into student values(3,'cc',100.99,null);

DDL:数据定义语言
order by
blueuser
blueorder
blue_user
blue_order
oa_user

create table users(
  id number(10),
  name varchar2(40),
  age number(3)
);

alter table users add constaint users_pk primary key (id);

alter table users disable constraint users_pk;
alter table users enable constraint users_pk;

alter table users drop constraint users_pk;


alter table users set unused (name,age);

alter table users et unused column name;
alter table users set unused column age;

alter table users drop unused columns;

drop table users;

rename users to oa_users;

truncate table users;



select e.last_name,e.salary,e.department_id,d.mm from employees e,(select department_id dept_id,max(salary) mm from employees group by department_id) d where e.department_id=d.dept_id;


select dfdfd from A a left outer join (select dfa)

create or relpace view salary_vu
is
select e.last_name,d.department_name,e.salary,j.name from employees e,departments d,job_grades j where e.department_id=d.department_id and e.salary between j.minsalary and j.maxsalary;


 SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME ) A WHERE ROWNUM <= to ) WHERE RN >= from



目录
相关文章
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
|
3月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
629 28
|
3月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
116 9
|
4月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
169 10
|
4月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回查询
本文介绍了Oracle数据库的闪回查询(Flashback Query)功能及其实际应用。闪回查询通过`AS OF`子句,结合时间戳或SCN号,可查询历史数据状态,帮助分析数据差异。文中通过具体示例演示了如何使用闪回查询:创建测试表、记录当前SCN号、更新数据并提交事务,最后通过闪回查询获取历史数据。附带的视频和代码块详细展示了操作步骤与结果。
140 4
|
4月前
|
Oracle 关系型数据库 数据管理
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
127 0
|
4月前
|
Oracle 关系型数据库 网络安全
崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB
文章是作者小草对崖山异构数据库迁移利器 YMP 的初体验分享,包括背景、YMP 简介、体验环境说明、YMP 部署(含安装前准备、安装、卸载、启动与停止)、数据迁移及遇到的问题与解决过程。重点介绍了 YMP 功能、部署的诸多细节和数据迁移流程,还提到了安装和迁移中遇到的问题及解决办法。
|
4月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle数据库的客户端工具
本文介绍了Oracle数据库的三种客户端工具:SQL*Plus、Oracle Enterprise Manager Database Express(EM)和SQL Developer的使用方法。首先通过命令行工具SQL*Plus登录数据库,创建用户并授权,建立部门与员工表,插入数据并查询;接着讲解了如何通过浏览器访问EM界面监控数据库及表空间状态;最后演示了SQL Developer的下载安装、连接配置以及执行查询的过程,帮助用户快速上手Oracle数据库管理与操作。
|
7月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
357 11

热门文章

最新文章

推荐镜像

更多