Oracle基本概念和介绍

Oracle基本概念

 

Oracle Database的基本概念面试

一个Oracle服务器

是一个数据管理系统,它提供开放的,全面的,近乎完整的信息管理sql

Oracle服务器有两大部分组成

一个Oracle实例数据库

一个Oracle数据库组成express

Oracle数据库

位于硬盘上实际存放数据的文件,这些文件组织在一块儿,成为一个逻辑总体,即为Oracle数据库。所以在Oracle看来,数据库是指硬盘上文件的逻辑集合,必需要与内存里实例合做,才能对外提供数据管理服务服务器

Oracle实例数据结构

位于物理内存里的数据结构,它由一个共享的内存池和多个后台进程所组成,共享的内存池能够被全部进程访问,用户若是要存取数据库(也就是硬盘上的文件)里的数据,必须经过实例才能访问,不能直接读取硬盘上的文件。学习

注意!!!

实例能够操做数据库,在任什么时候刻一个实例只能与一个数据库关联,大多数状况下,一个数据库只有一个实例对其进行操做。spa

clip_image002

表空间和数据文件

表空间由多个数据文件组成,逻辑概念.net

数据文件只能属于一个表空间,物理概念排序

clip_image004

段,区,块概念

段存在于表空间中

段是区的集合

区是数据块的集合

数据块会被映射到磁盘块

clip_image006

数据库的逻辑和物理结构

clip_image008

Oracle基本sql select语句

学完基本select语句应掌握

1. 书写select语句

2. 返回表中的所有数据

3. 返回表中指定列的数据

4. 使用别名

5. 使用sql*plus环境,书写,保存和执行sql语句和sql*plus命令

语句格式:(读完本节后就能看懂啦,亲)

SELECT *|{[DISTINCT] column|expression [alias],...}

FROM table;

SQL语句注意事项

SQL语句大小写不敏感

SQL能够写在一行或多行

关键字不能被缩写也不能被分行

各子句通常要分行写

使用缩进提供语句的可读性

基本select语句

select 标识选择那些列

选择所有列*

clip_image020

选择特定列,指定列名

clip_image022

选择表达式

+ - * /

clip_image024

from 标识从那个表中选择

下图为基于那张表

clip_image026

列的别名

J 重命名一个列

J 便于计算

J 紧跟列名,也能够在列名和别名之间加入关键字as,别名使用双引号,以便在别名中包含空格和特殊字符并区分大小写(面试有的时候会问到,使用双引号和不使用的)

J as能够省略

使用别名

clip_image028

链接符

J 把列于列,列与字符链接在一块儿

J 用“||”表示

J 能够用来合成列

clip_image030

记得终止只组合成了一列

clip_image032

字符串

J 字符串能够是select列表中的一个字符,数字,日期

J 日期和字符只能在单引号中出现

J 每当返回一行,字符串被输出一次

重复行

默认状况下,查询返回所有行,包括重复行

删除重复行,在select子句中使用关键字“distinct”删除重复行

clip_image034

显示表结构

desc简写

describe 表名

SQL语句与SQL*Plus命令

SQL语句对比SQL*Plus

一种语言

一种环境

ANSI标准

Oracle的特性之一

关键字不能缩写

关键字能够缩写

使用语句控制数据库中的表的定义信息和表中的数据

命令不能改变数据库中的数据值

集中运行

SQL*Plus功能

功能

描述表结构

编辑SQL语句

执行SQL语句

将SQl保存在文件中并将SQL语句执行结果保存在文件中

在保存的文件中执行语句

将文本文件装入SQL*Plus编辑窗口

本机上Http://localhost:5560/isqlplus/

Oracle过滤和排序数据

经过学习完本节,要掌握以下功能

使用where子句过滤数据

使用比较运算符

操做符

含义

=

等于(不是==,赋值使用:=符号)

>

大于

>=

大于,等于

<

小于

<=

小于,等于

<>

不等于(也能够是!=)

使用between and,in,like和null运算

操做符

含义

between…and…

两个值之间(包含边界)

in(set)

等于值列表中的一个

like

模糊查询

is null

空值

使用逻辑运算符and,or和not

操做符

含义

and

逻辑并

or

逻辑或

not

逻辑否

优先级

 

1

算术运算符

2

链接符

3

比较符

4

is null,like,not in,in

5

between

6

not

7

and

8

or

使用order by子句进行排序

asc(ascend)

升序

desc(descend)

降序

order by子句在select语句的末尾

排序的规则

 

1

能够按照select语句中的列名排序

2

能够按照别名列名排序

3

能够按照select语句中的列名的顺序值排序

4

若是按照多列进行排序,则规则是先按照第一列排序,若是相同,按照第二列排序依次类推

5

desc

使用转义符将%转为\%,-转为\-,而后再加上escape \

语法格式:

SELECT *|{[DISTINCT] column|expression [alias],...}

FROM table

[WHERE condition(s)]

[ORDER BY {column, expr, alias} [ASC|DESC]];

具体操做示例

查询10号部门的员工

clip_image036

查询KING的员工,字符大小写敏感

clip_image038

若是改成king则失败(字符和日期必须彻底匹配)

clip_image039

查询入职日期为17-11月-81的员工

clip_image041

若是查询1981-11-17则出现文字与格式字符串不匹配

clip_image043

查看日期格式

clip_image044

其中

PARAMETER

----------------------------------------------------------------

VALUE

----------------------------------------------------------------

NLS_DATE_FORMAT

DD-MON-RR

NLS_DATE_LANGUAGE

SIMPLIFIED CHINESE

NLS_CHARACTERSET

ZHS16GBK

格式化:

clip_image046

修改日期格式

clip_image048

between and工资在多少之间,包含边界,小值在前面,大值在后面

clip_image050

in 在集合中,存在于部门10或20的员工

clip_image052

不存在与部分10或20的员工

clip_image054

须要注意,若是集合中含有null,不能使用not in,但可使用in
not in 不可使用null

clip_image056

in可使用null

clip_image058

模糊查询%,_,多个和一个

clip_image060

模糊查询_,查询4个字母的名称

clip_image062

查询存在下划线的名称
插入带下划线的名称

clip_image063

查询结果有误

clip_image064

正确的查询方式:

clip_image066

SQL> --转意字符

SQL> rollback;

回退已完成。

and or 左边和右边,从右到左顺序执行

排序order by默认升序排序

clip_image068

order by降序排序

clip_image070

order by 后面能够跟随 列名 表达式 别名 序号

clip_image072

order by 排序别名

clip_image074

order by 后面加序号

clip_image076

order by 后面存在多列,这里须要注意先排序deptno,再根据deptno排序sal

clip_image078

一个默认排序,一个降序排序

clip_image080

desc只做用于临近,须要写两次

clip_image082

查询员工奖金,按奖金排序

clip_image084

查询员工奖金,降序排序排列

clip_image086

查询员工奖金排序,把null都放置在最后

clip_image088

相关文章
相关标签/搜索