OracleDay01

  • ORACLE 简介
    1. 什么是 ORACLE

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

B/S 体系结构的数据库之一。

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

ORACLE 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个

完备关系的产品;作为分布式数据库它实现了分布式处理功能。

ORACLE 数据库具有以下特点:

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

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

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

(4)可移植性

    1. ORACLE 体系结构
      1. 数据库

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

      1. 实例

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

      1. 数据文件(dbf)

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

行。

      1. 表空间

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

每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件

(datafile)。一个数据文件只能属于一个表空间。

注:表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。

由于 oracle 的数据库不是普通的概念,oracle 是有用户和表空间对数据进行 管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用

户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

      1. 用户

用户是在表空间下建立的。用户登陆后只能看到和操作自己的表, ORACLE

的用户与 MYSQL 的数据库类似,每建立一个应用需要创建一个用户。

  • ORACLE 安装与配置
    1. 安装虚拟机

正常下一步即可

注意 安装 d盘/opt目录下, 这个目录没有中文没有空格

      1. 在vm中配置网关
      1. 修改 windows 的网卡信息
    1. 扫描已安装oracle的windows11系统

将压缩包解压到 没有中文没有空格的目录下.

    1. oracle已安装

检测oracle是否正常

这四个服务, 必须是正在运行才可以.

    1. PLSQL (oracle的客户端)

系统用户: system   密码: Aa123456

system

Aa123456

orcl

  • 准备数据 来源: 项目案例《自来水公司收费系统》
    1. 项目介绍与需求分析

XXX  市自来水公司为更好地对自来水收费进行规范化管理,决定委托传智 播客.黑马程序员开发《自来水公司收费系统》。考虑到自来水业务数量庞大,

数据并发量高,决定数据库采用 ORACLE 数据库。主要功能包括:

1.、基础信息管理:

(1)业主类型设置

(2)价格设置

(3)区域设置

(4)收费员设置

(5)地址设置

2、业主信息管理:

(1)业主信息维护

(2)业主信息查询

3、收费管理:

(1)抄表登记

(2)收费登记

(3)收费记录查询

(4)欠费用户清单

4、统计分析

(1)收费日报单

(2)收费月报表

    1. 表结构设计

1.业主类型表( T_OWNERTYPE)

字段名

类型(位数)

是否必填

说明

ID

NUMBER

主键

NAME

VARCHAR2(30)

类型名称

2.价格表( T_PRICETABLE)

字段名

类型(位数)

是否必填

说明

ID

NUMBER

主键

PRICE

NUMBER(10,2)

价格

OWNERTYPEID

NUMBER

业主类型 ID

MINNUM

NUMBER(10,2)

区间数开始值

MAXNUM

NUMBER(10,2)

区间数截止值

3.区域表( T_AREA)

字段名

类型(位数)

是否必填

说明

ID

NUMBER

主键

NAME

VARCHAR2(30)

区域名称

4.收费员表( T_OPERATOR)

字段名

类型(位数)

是否必填

说明

ID

NUMBER

主键

NAME

VARCHAR2(30)

操作员名称

5.地址表( T_ADDRESS)

字段名

类型(位数)

是否必填

说明

ID

NUMBER

主键

NAME

VARCHAR2(30)

地址名称

AREAID

NUMBER

区域 ID

OPERATORID

NUMBER

操作员 ID

6.业主表( T_OWNERS)

字段名

类型(位数)

是否必填

说明

ID

NUMBER

主键

NAME

VARCHAR2(30)

业主名称

ADDRESSID

NUMBER

地址 ID

HOUSENUMBER

NUMBER

门牌号

WATERMETER

VARCHAR2(30)

水表编号

ADDDATE

DATE

登记日期

OWNERTYPEID

NUMBER

业主类型 ID

7.收费台账( T_ACCOUNT)

字段名

类型(位数)

是否必填

说明

ID

NUMBER

主键

OWNERID

NUMBER

业主编号

OWNERTYPEID

NUMBER

业主类型

AREAID

NUMBER

所在区域

YEAR

CHAR(4)

账务年份

MONTH

CHAR(2)

账务月份

NUM0

NUMBER

上月累计数

NUM1

NUMBER

本月累计数

USENUM

NUMBER

本月使用数

METERUSERID

NUMBER

抄表员

METERDATE

DATE

抄表日期

MONEY

NUMBER(10,2)

应缴金额

ISFEE

CHAR(1)

是否缴费

FEEDATE

DATE

缴费日期

FEEUSERID

NUMBER

收费员

    1. 创建表空间

create tablespace waterboss

datafile 'C:\data\waterboss.dbf'

size 100m

autoextend on

next 10m

解释:

waterboss 为表空间名称

datafile  用于设置物理文件名称

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

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

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

    1. 创建用户

create user c##wateruser

identified by itcast

default tablespace waterboss

wateruser 为创建的用户名

identified by  用于设置用户的密码

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

    1. 用户赋权

grant dba to c##wateruser

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

    1. 切换用户 c##wateruser

  • 表的创建、修改与删除
    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

);

其它表的创建见资料“自来水收费系统建表语句.sql ”

    1. 修改表

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;

    1. 删除表

语法:

DROP TABLE 表名称

  • 数据增删改
    1. 插入数据

语法:

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

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

向业主表插入数据:

insert    into    T_OWNERS   

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

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

图的绿色图标,此图标为 commit

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

INSERT INTO t_owners

VALUES

  (4, '赵大侃', 1, '2-3', '9876', SYSDATE, 1, SYSDATE);

commit;

    1. 修改数据

语法:

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

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

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

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

    1. 删除数据

语法 1 :

DELETE FROM  表名    WHERE       删除条件;

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

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

delete from t_owners where id=4;

commit;

语法 2:

TRUNCATE    TABLE    表名称

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

1.   delete 删除的数据可以 rollback

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/553245.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

60道计算机二级模拟试题选择题(含答案和解析)

点击下载《60道计算机二级模拟试题选择题(含答案和解析)》 1. 前言 本文设计了一份针对计算机二级考试的选择题,旨在考察考生对计算机基础知识和应用技能的掌握情况。试题涵盖了计算机基础知识、操作系统、办公软件、计算机网络等多个方面&…

【学习】Jmeter、postman、python如何与数据库相互配合

在当今数字化时代,数据库已经成为我们日常生活中不可或缺的一部分。无论是购物、社交还是工作,数据库都在默默地为我们提供着高效、稳定的服务。而在众多的技术工具中,Jmeter、Postman和Python成为了操作数据库的三大主流技术。今天&#xff…

虚拟机vm桥接模式linux(centos,ubuntu)联网

台式机网线 查看宿主机网络 编辑虚拟机—>虚拟网络编辑器–>更改设置 选择,确定 进入linux系统 输入ip addr找到自己的网卡 我的是eno16777736 centos: 编辑 HWADDR"00:0C:29:54:CE:B8" TYPE"Ethernet" BOOTPROTO"…

刷题。。。。。。

1.ezmd5 根据题目提示 我们知道应该是要上传两张md5值相同的图片 根据原文链接:cryptanalysis - Are there two known strings which have the same MD5 hash value? - Cryptography Stack Exchange 把保存下来的图片上传一下 得到flag 2.ezhttp 根据原文链接&…

LeetCode36: 有效的数独(Java)

题目: 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例…

适配器模式【结构型模式C++】

1.概述 适配器模式是一种结构型设计模式, 又称为变压器模式、包装模式(Wrapper) 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 2.结构 Target:适配…

美创科技19周年数据安全案例展

2005-2024 践行“让数据更安全,更有价值”的使命 美创19年砌垒,与不同行业用户 一同筑牢数字之基 美创19周年案例展 走进这段时间长廊 探索美创与各行业伙伴的数据安全实践 #1 数据安全体系化建设 浙江省,数字化改革先行地。以数字化…

Java面试八股之fail-fast和fail-safe的区别

简述fail-fast和fail-safe的区别 定义与基本概念 fail-fast: 定义:fail-fast是一种迭代器机制,当集合在迭代过程中被结构上修改(如添加、删除元素),会立即抛出ConcurrentModificationException异常&…

Python数据容器(二)

一.list列表的案例 二.list列表的循环遍历 既然数据容器可以存储多个元素,那么,就会有需求从容器内依次取出元素进行操作。 将容器内的元素依次取出进行处理的行为,称之为:遍历、迭代。 (一)列表的遍历—…

文献速递:深度学习肝脏肿瘤诊断---双能量CT深度学习放射组学预测大梁状大块型肝细胞癌

Title 题目 Dual-Energy CT Deep Learning Radiomics to Predict Macrotrabecular-Massive Hepatocellular Carcinoma 双能量CT深度学习放射组学预测大梁状大块型肝细胞癌 Background 背景 It is unknown whether the additional information provided by multiparametric …

获取公募基金净值【数据分析系列博文】

摘要 从指定网址获取公募基金净值数据,快速解析并存储数据。 (该博文针对自由学习者获取数据;而在投顾、基金、证券等公司,通常有Wind、聚源、通联等厂商采购的数据) 导入所需的库:代码导入了一些常用的库…

OpenCV从入门到精通实战(五)——dnn加载深度学习模型

从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程。 下面是程序的主要步骤和对应的实现代码总结: 1. 导入必要的工具包和模型 程序开始先导入需要的库os、numpy、cv2,同时导入utils_paths模块&…

PACNet CellNet(代码开源)|bulk数据作细胞分类,评估细胞命运性能的一大利器

文章目录 1.前言2.CellNet2.1CellNet简介2.2CellNet结果 3.PACNet3.1安装R包与加载R包3.2加载数据3.3开始训练和分类3.4可视化分类过程3.5可视化分类结果 4.细胞命运分类和免疫浸润比较 1.前言 今天冲浪看到一个细胞分类性能评估的R包——PACNet,它与转录组分析方法…

【经验总结】Jupyter 配置内核

1. 背景描述 使用 国家超算互联网中心 的服务器,创建 jupyterlab 容器,想在之前 conda 创建的环境中运行,可是不行,进入容器就直接进入 jupyterlab 2. 解决方法 配置内核 2.1 激活环境 conda activate peft2.2 安装内核 pip…

vector类——常用函数模拟(C++)

在上一篇中我们介绍了 string 类的常用函数模拟,接下来我们将开始讲解 vector 类的常用函数的讲解以及模拟实现,相较于 string 来说,vector 的函数不那么冗余,用法也没有那么多,但是在 vector 中的函数使用和模拟中&am…

单链表的实现(单链表的增删查改)

在顺序表中实现数据的增删的操作时,都要把操作位置之后的数据全部移动一遍,操作效率低下。其次是容量固定(静态顺序表),虽然在动态顺序表中容量可变,但也会造成空间上的浪费。 单链表就完美解决了上述缺点…

微服务架构与Dubbo

一、微服务架构 微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 分布式系统式若干独立系统的集合,但是用户使用起来好像是在使用一套系统。 和微服务对应的是单体式开发,即所有的功能打包在一个WAR…

No spring.config.import property has been defined

运行Springcloud项目出现下面错误: Description: No spring.config.import property has been defined Action: Add a spring.config.importnacos: property to your configuration. If configuration is not required add spring.config.importoptional:nac…

C 排序算法

冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。 过程演示&…

校园综合服务平台V3.9.2 源码修复大部分已知BUG

校园综合服务平台,版本更新至V3.9.1 ,源码功能强大,ui 精美, 功能包含但不限于校园跑腿,外卖,组局,圈子,商城,抽奖,投票,团购,二手市场…