oracle数据库模糊搜索表名,Oracle基本概念和介绍

Oracle基本概念

Oracle Database的基本概念

一个Oracle服务器

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

Oracle服务器有两大部分组成

一个Oracle实例

一个Oracle数据库组成

Oracle数据库

位于硬盘上实际存放数据的文件,这些文件组织在一起,成为一个逻辑整体,即为Oracle数据库。因此在Oracle看来,数据库是指硬盘上文件的逻辑集合,必须要与内存里实例合作,才能对外提供数据管理服务

Oracle实例

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

注意!!!

实例可以操作数据库,在任何时刻一个实例只能与一个数据库关联,大多数情况下,一个数据库只有一个实例对其进行操作。

67a163bd9daa04edb68615f471c191df.png

表空间和数据文件

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

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

f725a829a504236bb759974b186220a6.png

段,区,块概念

段存在于表空间中

段是区的集合

区是数据块的集合

数据块会被映射到磁盘块

d91331f5cc3b9230c17f4f6fd3f3d038.png

数据库的逻辑和物理结构

92b0336e856e4a48ab469e00acc02f0b.png

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 标识选择那些列

选择全部列*

5a6964e44ab45e9fd67af661081cba87.png

选择特定列,指定列名

5b55ea6ba9aec9afb7d42c001b5046a8.png

选择表达式

+ - * /

b1dad0e0a29057d6ce0425f66d2e95e3.png

from 标识从那个表中选择

下图为基于那张表

046404291ad63120e9a27a5b18e10a42.png

列的别名

J 重命名一个列

J 便于计算

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

J as可以省略

使用别名

adc84d494ed90ac91f6b4c1a6e8a3c8d.png

连接符

J 把列于列,列与字符连接在一起

J 用“||”表示

J 可以用来合成列

67dbb9459de957946b54e659a6a77432.png

记得终止只组合成了一列

14b21e027dc13b4856fd32b0e5fba8fd.png

字符串

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

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

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

重复行

默认情况下,查询返回全部行,包括重复行

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

c15791fd142820dfc2773379eaac6e88.png

显示表结构

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号部门的员工

31314fe22a3c7fc40bac2245a65405c5.png

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

af958fe15503a5eaae0f87b013379842.png

如果改为king则失败(字符和日期必须完全匹配)

0bc2a5fd81be18a257a64ac902e6252d.png

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

2a175ec3e091423e88552b8779353085.png

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

e51a4c2e7a3f46e1a06148d49629c10f.png

查看日期格式

557b76dfb7a2010d9ed8e55650f449f3.png

其中

PARAMETER

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

VALUE

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

NLS_DATE_FORMAT

DD-MON-RR

NLS_DATE_LANGUAGE

SIMPLIFIED CHINESE

NLS_CHARACTERSET

ZHS16GBK

格式化:

0e4fe9b85df6985ca7b40907d57846dc.png

修改日期格式

bf80e2bb4d09de158e3a945c5549c607.png

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

fb952a52ebdd4eff64e70dc9a9751137.png

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

1ca317c5c4634c06dd420a757e23c15c.png

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

46e0e4f7cd1b6b1264c89b82ffb1f0fc.png

需要注意,如果集合中含有null,不能使用not in,但可以使用in

not in 不可以使用null

ec8c4331f2b19ffe69dcba151acfcaa3.png

in可以使用null

33f8a687a0f9309c7281235f7d8a4608.png

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

93fe44b54f340f5f63110aed5b55fca3.png

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

ce385105eed53409d8ac7de1dfa6b4ca.png

查询存在下划线的名称

插入带下划线的名称

75e24bb9b7585f3d142ebea2827135cd.png

查询结果有误

1b63bbd2109c6d167ed13c0f09b2fad7.png

正确的查询方式:

726310cccdc95110c7eba7d8b2c4a606.png

SQL> --转意字符

SQL> rollback;

回退已完成。

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

排序order by默认升序排序

026b9ae4b9d4908531a67881e579e895.png

order by降序排序

1a23fcf051d066f8798b0d47b07db197.png

order by 后面可以跟随 列名 表达式 别名 序号

00068b8e0ce5c6df28f98974a5a4effb.png

order by 排序别名

6b16a890f55816aa69d3983f11961a29.png

order by 后面加序号

396f23758897e5bbb35da99cf7f4e9a7.png

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

7b0b79c91b4aed6f603b22ea8fa5282b.png

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

07986a27379e7380f4e3fa84938dec76.png

desc只作用于临近,需要写两次

d22525745283a8756fe1d017b12684be.png

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

bda07f99b6acfbb6c3d77498bf16d685.png

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

5a17a2d88bdd9994629a6f796d7fc6c7.png

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

58ff0d57207e38ca6f28f394478dcaa6.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值