1、了解什么是Oracle数据库以及Oracle数据库的特点

Oracle数据库:

  • 所有关系型数据库存储数据的集合是磁盘中的文件。
  • Oracle由数据文件.DBF(保存数据),控制文件.CTL(保存配置信息),日志文件.LOG(用于备份和还原数据库,以达到数据库最新状态)所构成
  • Oracle实例与数据库的关系:实例就是一组操作系统进程及一些内存;实例可以操作数据库;而数据库只是一个文件集合;一个实例只能与一个数据库关联

    2、掌握Oracle数据库的启动与关闭与Oracle客户端工具的使用(主要使用PL SQL Developer工具)

    Oracle启动与关闭:

    直接任务管理器启动关闭服务:(必须启动)OracleServiceORCL、(必须启动)OracleOraDb11g_home1TNSListrner

    (自带)SQL plus使用

    windows栏直接启动;
    sys用户登录命令 sys as sysdba|sysoper
    system用户登录命令 system

    (第三方)PL SQL Developer

    启动image.png
    使用:(左边Objects栏必须留下,其他栏可以关闭)

  • File—>New—>Sql Window—>image.png按钮执行命令(SQL语句可不加 ; )

  • File—>New—>Command Window(命令执行依赖 ; )

修改字体:Tools—>Preferences—>Fonts

3、掌握Oracle数据库的表空间、用户的创建与授权

所有的数据库对象都存放在指定的表空间中。

  • 创建永久表空间命令:create tablesplace YAZHAI datafile ‘D:\yazhai\software\Oracle\oradata\orcl\YAZHAI.DBF’ size 15M autoextend on next 10M permanent online
  • 创建用户

Objects—>My objects—>Users—>new…—>
1、Name|Password|Default tablespace
2、分配链接权限image.png
3、分配系统权限image.png

  • 登录yazhai用户image.pngimage.png

    4、掌握Oracle数据库中的基本配置(了解Oracle的基本配置即可)

    Oracle链接配置:

  • 文件位置:D:\yazhai\software\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN

sqnet.ora|tnsnames.ora|listener.ora

  • Net Configuration Assistant工具

可配置监听程序配置(操作listener.ora)、
可配置本地网络服务配置(即访问相互可ping通的另一台计算机的数据库)(操作tnsnames.ora)

5、掌握Oracle数据库中的数据类型、创建表以及在Oralce中定义约束

Oracle数据类型(常用的)

字符类型

  • 固定长度类型

CHAR类型(1西文|1数字==1字节,1汉字==3字节):不指定长度默认为1,最长2000字节;空格自动填充来达到最大长度,如char(12)总是包含12字节信息;ep:性别(0|1)

  • 可变长度类型

VARCHAR2类型(1西文|1数字==1字节,1汉字==3字节):最长4000字节;ep:简介
NVARCHAR2类型(1西文|1数字|1汉字==1字节):包含UNICODE格式数据的边长字符串,最长4000

  • 数字类型

NUMBER(P,S):Precision-精度(有效数字位数);Scale-小数点位数

  • 浮点数:

BINARY_FLOAT
BINARY_DOUBLE

创建表:

Tables—>new…

约束(规定表中数据校验规则)

主键约束(唯一,非空)
唯一约束(唯一,可空)
检查约束(数据范围、格式限制)
非空约束(非空)
外键约束(建立两表的关系,引用主表的列)

6、掌握Oracle数据库中多表关系的创建

一对多关系

外键永远在多方,外键可重复,外键可为空值

一对一关系

外键可在任何一方,唯一约束
多对多关系

菜鸟雷区:
有多表关系的表删除一定要从有外键的表删起(ep:一对多,从多开始删;多对多,从中间表开始删)


SQL语言

1、掌握select语句的基本使用(DQL:Date Query Language )

查看表结构:

  1. desc tablename

select语句作用:

  • 列查询(投影操作)
  • 行查询(选择操作)
  • 连接(多表操作)

    select语句:

    1. select *|{[distinct] column|expression [alias],...} FROM table;
  • select:确定列

  • from:确定表
  • distinct:去重,修饰之后所有行,紧跟select后面
  • ||:连接符;日期和字符文字必须放在(’ ‘)
  • as:查询结果重命名,自动大写(” “)保留特殊格式
  • 算术表达式(+-*/):只能对 数字和日期数据操作(DATE、TIMESTAMP);包含空值的算术表达式为空
  • column|expression:选择指定字段或表达式
  • alias:给选择的列不同的标题

    2、掌握select语句中的约束与排序(数据库的查询语句是使用最多的一种语句,需要重点学习)

    select语句

    where:

  • 跟在from语句后,限制满足条件的行

    字符串和日期:

  • 都放在 (‘ ‘)中;

  • 日期格式敏感,默认格式 DD-MON-RR,ep: ‘24-6月-06’;

    比较条件:

  • = ,> , >= , < , <=,<>(或者!=或者^=)

    其他比较条件(无性能提升,只是逻辑简单)

  • between

[下限] and [上限] 相当于 (a>下限)and(a<下限)

  • in(set)

    相当于(a=value)or(a=valule)or(a=value)

  • like

通过通配符模糊查询:%:零个或多个 占位符 _:一个占位符
escape:用于查询实际字符串中的%和
ep:LIKE ‘SA\
%’ESCAPE’\’,即ESCAPE指定’\’为转义字符
data模糊查询

  1. select to_char(hire_date,'YYYY-MM-DD') as date from employees where to_char(hire_date,'YYYY-MM-DD') like '%2004%';
  • is null/is not null
  • AND,OR,NOT

    ORDER BY:

  • select 语句最后

  • 升序 :ASC :降序DESC
  • 升序规则:

数字,日期从小到大;字符值:按字典序
对于空值:升序在最后,降序在最前
多列排序:需要在每个列后加上ASC或者DESC

SELECT语句执行顺序:

FROM(表)
WHERE(行)
SELECT(列)
ORDER BY(排序)

3、掌握Oracle中的单行函数的使用(重点学习,应用场景较多)

字符函数

数字函数

日期函数

转换函数

隐式转换

  • 最大的问题:造成索引失效,进而可能导致全表扫描,表很大的时候会产生很大的性能问题
  • 不易阅读

    显示转换

  • 日期—>字符

    1. //日期显示为 2021年10月5日 16:09:30 下午(注:此处的AM或PM都可以,会根据时间判断的)
    2. select last_name,to_char(hire_date,'yyyy"年"mm"月"dd"日" hh:mi:ss AM')
    3. from employees

    通用函数

  • [ ] 数据库51-104