Oracle学习__01:基本概念

Oracle学习__01:基本概念

本文基于 黑马程序员视频教程 进行整理记录,仅用于个人学习/交流使用

视频地址:https://www.bilibili.com/video/BV1KJ411h7NH

官方资料:https://pan.baidu.com/s/1mODcXmqHh54gas4U0CxoTg 提取码:zugy

1.ORACLE 简介

1.1 什么是 ORACLE

ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据 库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或 B/S 体系结构的数据库之一。

ORACLE 通常应用于大型系统的数据库产品。

ORACLE 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通 用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个 完备关系的产品;作为分布式数据库它实现了分布式处理功能。

ORACLE 数据库具有以下特点:

(1)支持多用户、大事务量的事务处理

(2)数据安全性和完整性控制

(3)支持分布式数据处理

(4)可移植性

1.2 ORACLE 体系结构

1.数据库

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

2.实例

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

3.数据文件(dbf)

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

4.表空间

表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻 辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在 逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空 间)。

每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件 (datafile)。一个数据文件只能属于一个表空间。

image-20210114175934436

注:表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。 由于 oracle 的数据库不是普通的概念,oracle 是有用户和表空间对数据进行 管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用 户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

image-20210114175957039

5.用户

用户是在表空间下建立的。用户登陆后只能看到和操作自己的表, ORACLE 的用户与 MYSQL 的数据库类似,每建立一个应用需要创建一个用户。

image-20210114180010094

2.创建表空间/创建用户/用户赋权

2.1 创建表空间

--创建表空间
create tablespace waterboss
datafile 'c:\waterboss.dbf'
size 100m
autoextend on
next 10m;

解释:

waterboss 为表空间名称

datafile 用于设置物理文件名称

size 用于设置表空间的初始大小

autoextend on 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容

next 用于设置扩容的空间大小

2.2 创建用户

--创建用户
create user wateruser
identified by itcast
default tablespace waterboss;

解释:

wateruser 为创建的用户名

identified by 用于设置用户的密码

default tablesapce 用于指定默认表空间名称

2.3 用户赋权

--给wateruser赋予DBA权限
grant dba to wateruser

解释:

给用户 wateruser 赋予 DBA 权限后即可登陆

3.表的创建/修改/删除

3.1 表的创建

CREATE TABLE 表名称(
 字段名 类型(长度) primary key,
 字段名 类型(长度),
 .......
);

数据类型:

1.字符型:

(1)CHAR : 固定长度的字符类型,最多存储 2000 个字节

​ 注:固定长度之后,如果存储的数据不够要求的长度,则会使用空格补齐,即存进去/取出来都是固定的长度

(2)VARCHAR2 :可变长度的字符类型,最多存储 4000 个字节

(3)LONG : 大文本类型。最大可以存储 2 个 G

2.数值型

NUMBER : 数值类型

例如:NUMBER(5) 最大可以存的数为 99999

​ NUMBER(5,2) 最大可以存的数为 999.99

3.日期型

(1)DATE:日期时间型,精确到秒

(2)TIMESTAMP:精确到秒的小数点后 9 位

4.二进制型(大数据类型)

(1)CLOB : 存储字符,最大可以存 4 个 G

(2)BLOB:存储图像、声音、视频等二进制数据,最多可以存 4 个 G

实例: 创建业主表

--创建业主表
CREATE TABLE T_OWNERS(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30),
ADDRESSID NUMBER,
HOUSENUMBER VARCHAR2(30),
WATERMETER VARCHAR2(30),
ADDDATE DATE,
OWNERTYPEID NUMBER
)

3.2 修改表

1.增加字段语法:

ALTER TABLE 表名称 ADD(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...) 

为业主表增加两个字段,语句:

--追加字段 
ALTER TABLE T_OWNERS ADD 
( 
    REMARK VARCHAR2(20), 
    OUTDATE DATE 
)

2.修改字段语法:

ALTER TABLE 表名称 MODIFY(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...)

修改两个字段的类型,语句:

--修改字段 
ALTER TABLE T_OWNERS MODIFY 
( 
    REMARK CHAR(20), 
    OUTDATE TIMESTAMP 
) 

3.修改字段名语法:

ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名 

语句:

ALTER TABLE T_OWNERS RENAME COLUMN OUTDATE TO EXITDATE 

4.删除字段名

--删除一个字段 
ALTER TABLE 表名称 DROP COLUMN 列名 
--删除多个字段 
ALTER TABLE 表名称 DROP (列名 1,列名 2...) 

语句:

 --删除字段 
 ALTER TABLE T_OWNERS DROP COLUMN REMARK 

3.3 删除表

语法:

DROP TABLE 表名称 

4.数据增删改

4.1 插入数据

语法:

INSERT INTO 表名[(列名 1,列名 2...)]VALUES(1,值 2...) 

执行 INSERT 后一定要再执行 commit 提交事务

向业主表插入数据:

insert into T_OWNERS VALUES (1,' 张三丰 ',1,'2-2','5678',sysdate,1); 

语句中的 sysdate 是系统变量用于获取当前日期,点击齿轮的图标后,再点击下 图的绿色图标,此图标为 commit

我们再次录入一条数据,语句如下:

insert into T_OWNERS VALUES (2,'赵大侃 ',1,'2-3','9876',sysdate,1); 

commit; 

4.2 修改数据

语法:

UPDATE 表名 SET 列名 1=1,列名 2=2....WHERE 修改条件; 

执行 UPDATE 后一定要再执行 commit 提交事务

需求:将 ID 为 1 的业主的登记日期更改为三天前的日期

update T_OWNERS set adddate=adddate-3 where id=1; commit; 

4.3 删除数据

语法 1:

DELETE FROM 表名 WHERE 删除条件; 

执行 DELETE 后一定要再执行 commit 提交事务

需求:删除业主 ID 为 2 的业主信息

delete from T_OWNERS where id=2; commit; 

语法 2:

TRUNCATE TABLE 表名称 

比较 truncat 与 delete 实现数据删除?

1.delete 删除的数据可以 rollback

2.delete 删除可能产生碎片,并且不释放空间

3.truncate 是先摧毁表结构,再重构表结构

5.数据导出与导入

当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于 计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影 响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库 中全部或部分数据丢失。

因此当发生上述故障后,希望能重构这个完整的数据库 该处理称为数据库恢复,而要进行数据库的恢复必须要有数据库的备份工作。

5.1 整库导出与导入

整库导出命令

exp system/itcast full=y 

添加参数 full=y 就是整库导出

执行命令后会在当前目录下生成一个叫 EXPDAT.DMP,此文件为备份文件。

如果想指定备份文件的名称,则添加 file 参数即可,命令如下

exp system/itcast file=文件名 full=y 

整库导入命令

imp system/itcast full=y 

此命令如果不指定 file 参数,则默认用备份文件 EXPDAT.DMP 进行导入

如果指定 file 参数,则按照 file 指定的备份文件进行恢复

imp system/itcast full=y file=water.dmp 

5.2 按用户导出与导入

按用户导出

exp system/itcast owner=wateruser file=wateruser.dmp 

按用户导入

imp system/itcast file=wateruser.dmp fromuser=wateruser 

5.3 按表导出与导入

按表导出

exp wateruser/itcast file=a.dmp tables=t_account,a_area 

用 tables 参数指定需要导出的表,如果有多个表用逗号分割即可

按表导入

imp wateruser/itcast file=a.dmp tables=t_account,a_area

作者:耿鬼不会笑
时间:2021年1月
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值