Oracle详解(Ⅰ):世界上目前已知最好的关系型数据库

img_943f674d603a4619707aad9cf0506c4e.png
Oracle

Oracle数据库的体系结构

数据库:

Oracle数据库是数据的物理存储,这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其他数据库不一样,这里的数据库是一个操作系统只有一个库。可以看多是Oracle就只有一个大数据库

实例:

一个Oracle实例(Oracle Instance)有一系列的后台进程(BackGoundProcesses) 和内存结构(Memory Structures)组成,一个数据库可以有N个实例。

数据文件(dbf):

数据文件是数据库的物理存储单位,数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中,而一个表空间可以由一个或者多个数据文件组成,一个数据文件只能属于一个表空间,一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

表空间:

表空间是Oracle对物理数据库上相关数据文件(ORA或者DBF文件)的逻辑映射,一个数据库在逻辑上被划分成一个到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构,每个数据库至少有一个表空间(称之为System表空间)每个表空间由同一个磁盘上的一个或者多个文件组成,这些文件叫数据文件(datafile)一个数据文件只能属于一个表空间。


img_6ec7178a87629def0e631aa5ba256034.png
表空间
用户:

用户是在实例下建立的,不同的实例中可以建相同名字的用户。


img_14f54238f3de847eeef5dae1b0a8c22b.png
架构图

基本查询

sql书面概念:
DML (数据库操作语言)
INSERT UPDATE DELETE
DDL (数据库定义语言)
CREATE DROP
DCL(数据库控制语言)
GRANT REVOKE

1.查询语法

select *|列名  from 表名;

2.别名用法

select 列名 别名,...  from 表名;

3.去重

select distinct *|列名  from 表名;

4.查询中的四则运算

eg: 查询员工的年薪
select ename,sal*12 income from emp;

5.连接符 ||

字符串连接查询 等同于mysql中的 concat
img_b3b6a75f620610fc0928cae3bfe312df.png
Mysql concat

img_6698312866656bb67b32800312f2792d.png
Oracle连接符
条件查询和排序

使用where语句对结果进行过滤

select *|列名  from 表名 where ....(条件:比较运算符)
其他比较运算符

between...and... (在两值之间,包含边界)
IN(set) 等于值列表中的一个
LIKE 模糊查询
IS NULL 空值

逻辑运算符

AND 逻辑并
OR 逻辑或
NOT 逻辑否

Where 语句示例

IS NOT NULL


img_d32fc19f45dd7e4bfaea9a33d3d2e661.png
IS NOT NULL

IS NULL


img_e78033bbd51c54869548df73a947c9b6.png
IS NULL
img_a9bbfeff6aead2ca9af4848a90bff81f.png
多个条件同时满足时使用AND
img_1d865e1f87b9ed79bc720ede8953f3ef.png
多个条件或满足使用OR
img_b52ff468e2150ed8d114761d2737f5bb.png
not的使用
img_d82fe6c0ed8279e14a67013d2db1b8a7.png
范围限制
img_b6f44b19cc62c0c907aa1a322fb333e7.png
between and
img_8ebd7b14034cfa261cd1945943bf18f9.png
指定范围
模糊查询
img_17493522077306db8f841ede8e6611d8.png
like
img_5222287647aa4d82266065f19e4b4fc9.png
不等于
OrderBY
img_94839c7e4d027d932da93602359c6d0a.png
默认升序
排序中的空值问题

排序的时候可能出现null时就会产生问题,使用nulls first nulls last 来指定null值得显示位置

单行函数

接收字符输入返回字符串或者数值,dual是伪表
1.字符串的连接可以使用建议使用|| 而不是concat
select concat(String,String) from dual;
2.字符串的截取,使用substr,第一个参数是源字符串,第二个参数是开始索引,第三个参数是长度,开始索引使用1和0效果相同
3.获取字符串的长度
length (String) from dual;
4 字符串替换,第一个参数是源字符串,第二个参数被替换的字符串,第三个是替换字符串
select replace('String','1','o')from dual;

数值函数

ROUND:四舍五入
ROUND(100.333,2)
TRUNC:截断
TRUNC(100.33,2)
MOD:求余
MOD(100,30)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值