当前位置: 首页 > news >正文

Oracle 学习(1)

  1. Oracle简介 

Oracle是殷墟(yīn Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。Oracle公司成立于1977年,总部位于美国加州,是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。

Oracle数据库是Oracle(中文名称叫甲骨文)公司的核心产品,Oracle数据库是一个适合于大中型企业的数据库管理系统。在所有的数据库管理系统中(比如:微软的SQL Server,IBM的DB2等),Oracle的主要用户涉及面非常广,包括:银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等。

Oracle公司成立以来,从最初的数据库版本到Oracle7、Oracle8i、Oracle9i,Oracle10g到Oracle11g,Oracle12c 虽然每一个版本之间的操作都存在一定的差别,但是Oracle对数据的操作基本上都遵循SQL标准。因此对Oracle开发来说各版本之间的差别不大。

WebLogic是美国bea公司出品的一个application server确切的说是一个基于Javaee架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。2008116,全球最大的数据库软件公司甲骨文(Oracle)宣布已经同BEA达成协议,以85亿美元收购BEA。

2008116,Sun宣布已经与MySQL AB达成协议,以大约10亿美元收购MySQL AB。

20090420,甲骨文宣布,该公司将以每股9.5美元的价格收购Sun。该交易价值约为74亿美元。

    1. Oracle 体系结构

Oracle服务器 :是一个数据管理系统(RDBMS),它提供开放的, 全面的, 近乎完整的信息管理。由1个数据库和一个(或多个)实例组成。数据库位于硬盘上,实例位于内存中。

    1. 表空间(users)和数据文件

逻辑概念:表空间,表空间由多个数据文件组成。位于实例上,在内存中。

物理概念:数据文件,位于硬盘之上。(C:\app\Administrator\oradata\orcl目录内后缀为.DBF的文件)

  一个表空间可以包含一个或者是多个数据文件。1:n(表空间:数据文件)

    1. 、区、块

 

段存在于表空间中;  段是区的集合;  区是数据块的集合;  数据块会被映射到磁盘块。 

 

    1. DBA的时间开销

 

    1. 数据库的启动设置

控制面板 → 管理工具  → 服务  → OracleServiceORCL → 自动(手动)

控制面板 → 管理工具  → 服务  → …home1TNSListener → 自动(手动)

  1. sqlplus 登录
  2. sqlplus  ↙ 用户名 ↙ 密码 ↙
  3. sqlplus scott/11  ↙   或   sqlplus hr/11  ↙
  4. 以管理员身份登陆:sqlplus  /  as  sysdba  (在Oracle数据库安装时指定了登陆密码)
  5. 解锁用户:SQL> alter user scott account unlock   (管理员身份登陆,给scott用户解锁。用户默认锁定)
  6. 修改用户密码:SQL> alter user scott identified by 新密码    (管理员身份登陆,给scott用户修改密码)
  7. 查看当前语言环境:SQL> select userenv('language') from dual  
    1. 贯穿这门课程的方案

scott方案:

 

hr方案: 

  1. 基本的SQL select语句
    1. sqlplus的基本操作

显示当前用户: SQL> show user;

查看当前用户下的表: SQL> select * from tab;

tab: 数据字典(记录数据库和应用程序源数据的目录),包含当前用户下的表。

查看员工表的结构: SQL> desc emp; (desc  →  description 描述)

设置行宽:set linesize 120;

设置页面:set pagesize 100;

  或者将上述两行写入如下两个配置文件,可永久设置:

C:\app\Administrator\product\11.2.0\client_1\sqlplus\admin\glogin.sql

C:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\glogin.sql

设置员工名列宽:col ename for a20 (a表示字符串)

设置薪水列为4位数子:col sal for 9999 (一个9表示一位数字)

    1. 基本 SELECT 语句

其语法格式为:

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

FROM table;

查询所有员工的所有记录: SQL> select * from emp; (效果等同于:)

SQL> select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp;

※SQL优化: 尽量使用列名代替 * (Oracle 9i之前不同, 之后一样)

查询员工号、姓名、薪水: SQL> select empno, ename, sal from emp;

增加年薪: SQL>  select empno, ename, sal, sal * 12

   from emp;   

“/”执行上一条成功执行的SQL语句。

修改上一条SQL语句:

  1. 用c命令来修改(c 即 change)

默认,光标闪烁位置指向上一条SQL语句的第一行。输入 2 则定位到第二行

c  /错误关键字/正确关键字 ↙

使用“/”来执行修改过的SQL语句

例如:错误输入了:SQL> select empno, ename, sal, sal * 12 

   from emp;   (“from”书写错误,该错误位于整条SQL语句的第二行)

  1. 输入:2↙  终端提示:2* from emp
  2. 输入:c  /form/from ↙ 终端提示:2* from emp  (意为改正后的sql语句样子)
  3. 输入:/↙
  1. 使用ed命令来修改   edit

ed ↙弹出系统默认的文本编辑器,(如记事本)

修改、保存、退出、执行“/”。

别名:as     SQL> select empno as “员工号”, ename “姓名”, sal 月薪, sal * 12 年薪

     from  emp;  

关键字as写与不写没有区别; “”有与没有取决于别名中是否有空格或者关键字

“DISTINCT” 关键字。重复记录只取一次

SQL> select deptno from emp; → SQL> select DISTINCT deptno from emp;

SQL> select job from emp;  →   SQL> select distinct job from emp;

SQL> select distinct deptno, job from emp;  会发现没有行减少,因为deptno不重复。

因此得出,DISTINCT的作用范围 distinct作用于后面所有列

    1. SQL语句使用注意事项
  • SQL 语言大小写不敏感。 
  • SQL 可以写在一行或者多行
  • 关键字不能被缩写也不能分行
  • 各子句一般要分行写。
  • 使用缩进提高语句的可读性。
    1. 算数运算 + - * /
  • 乘除的优先级高于加减
  • 优先级相同时,按照从左至右运算
  • 可以使用括号改变优先级

查询: 员工号、姓名、月薪、年薪、奖金、年收入。

SQL> select deptno, ename, sal, sal * 12, comm, comm+sal*12 from emp;

结果不正确。没有奖金的员工,年收入不正确。

需注意在程序开发过程中数据是核心程序再正确也没有用,必须保证数据不能丢,且正确。对于上面的结果,有对有错的情况是最危险的。

    1. NULL值

☆NULL值问题:1. 包含NULL值的表达式都为空。2. NULL != NULL

解决:滤空函数:nvl(a, b)  如果a为NULL, 函数返回b。所以:sal * 12 + nvl(comm, 0) 年收入。

NULL != NULL举例:

查询奖金为NULL的员工信息: SQL> select * from emp where comm = NULL; (SQL中不使用==)

在SQL中判断一值是否等于NULL不用“=” 和“!=”而使用is和is not

SQL> select * from emp where comm is NULL; (is not)

空值是无效的,未指定的,未知的或不可预知的值

空值不是空格或者0。(特别强调)

    1. 连接符

Oracle中定义了一个连接符 ’||’ 用来连接字符串。

显示“xxx 是一个 xxx”怎么显示呢?

SQL> select ename || ‘ is a ’ || ‘job’ from emp  

但是如果显示一个“hello world”应该怎么显示呢?

  1. 使用concat函数来实现: SQL> select concat(‘hello’, ‘ world’) from ????

这两个字符串不是任何一个表的内容,在Oracle中,定义一张“伪表”dual用来满足SQL99语法(ANSI)。

语法规定:select 后 必须接 from。

再如: SQL> select concat('hello', ' world') as "你好" from dual  

  注意:SQL双引号“”表示别名,使用‘’来表示字符串。

但是: SQL> select concat('hello', ' world', ' Oracle') as "你好" from dual 可以吗?

可以这样:SQL> select concat('aa', concat('bb', 'cc')) from dual;  

  1. 使用连接符 || 来实现: SQL> select 'hello' || ' world' || ' Oracle' as "你好" from dual  

再如: SQL> select 3 + 2 from dual;

‘||’就是用来代替concat函数的。SQL> select ename || ‘ is a ’ job “员工描述” from emp  

    1. SQL和sqlplus

我们已经学习使用了select,应该知道还有update、delete、insert、create…

同时,我们学习了ed、c、set、col、desc….

SQL → 语言,关键字不能缩写。

sqlplus → Oracle提供的工具,可在里面执行SQL语句,它配有自己的命令(ed、c、set、col) 特点是缩写关键字。

SQL

    • 一种语言
    • ANSI 标准
    • 关键字不能缩写
    • 使用语句控制数据库中的表的定义信息和表中的数据

SQL*Plus

    • 一种环境
    • Oracle 的特性之一
    • 关键字可以缩写
    • 命令不能改变数据库中的数据的值
    • 集中运行

 

相关文章:

Oracle 学习(1)

Oracle简介 Oracle是殷墟(yīn Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。Oracle公司成立于1977年,总部位于美国加州,是世界领先的信息管…...

华为HCIA认证H12-811题库新增

801、[单选题]178/832、在系统视图下键入什么命令可以切换到用户视图? A quit B souter C system-view D user-view 试题答案:A 试题解析:在系统视图下键入quit命令退出到用户视图。因此答案选A。 802、[单选题]“网络管理员在三层交换机上创建了V…...

Nginx Unit 1.27.0 发布

目录 介绍 更新内容 将 HTTP 请求重定向到 HTTPS 为纯路径 URI 提供可配置的文件名 完整的更新日志 其他 平台更新 介绍 Nginx Unit 是一个动态应用服务器,能够与 Nginx Plus 和 Nginx 开源版并行或独立运行。Nginx Unit 支持 RESTful JSON API,…...

【影像组学入门百问】#32—#34

#32-影像组学研究过程中,图像重采样参 数怎么选择? 在影像组学研究过程中,选择合适的图像重采样参数对于保证分析质量和准确性至关重要。以下是在选择图像重采样参数时需要考虑的一些建议: 1.目标分辨率:首先&#…...

YOLOv5代码解析——yolo.py

yolo.py的主要功能是构建模型。 1、最主要的函数是parse_model,用于解析yaml文件,并根据解析的结果搭建网络。这个函数的注释如下: def parse_model(d, ch): # model_dict, input_channels(3)"""解析模型文件,并…...

4种feature classification在代码的实现上是怎么样的?Linear / MLP / CNN / Attention-Based Heads

具体的分类效果可以看:【Arxiv 2023】Diffusion Models Beat GANs on Image Classification 1、线性分类器 (Linear, A) 使用一个简单的线性层,通常与一个激活函数结合使用。 import torch.nn as nnclass LinearClassifier(nn.Module):def __init__(se…...

最新Unity DOTS Physics物理引擎碰撞事件处理

最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们给大家分享和介绍一下这个物理引擎的碰撞事件处理以及核心相关概念。 Unity.Physics物理引擎的主要流程与Pipeline Unity.Physics物理引擎做仿真迭代计算的时候主要通过以下步骤来…...

springboot集成websocket全全全!!!

一、界面展示 二、前置了解 1.什么是websocket WebSocket是一种在单个TCP连接上进行全双工通信的持久化协议。 全双工协议就是客户端可以给我们服务器发数据 服务器也可以主动给客户端发数据。 2.为什么有了http协议 还要websocket 协议 http协议是一种无状态,非…...

SpringMVC:整合 SSM 中篇

文章目录 SpringMVC - 04整合 SSM 中篇一、优化二、总结三、说明注意: SpringMVC - 04 整合 SSM 中篇 一、优化 在 spring-dao.xml 中配置 dao 接口扫描,可以动态地实现 dao 接口注入到 Spring 容器中。 优化前:手动创建 SqlSessionTempl…...

oracle即时客户端(Instant Client)安装与配置

之前的文章记录了oracle客户端和服务端的下载与安装,内容参见: 在Windows中安装Oracle_windows安装oracle 如果不想安装oracle客户端(或者是电脑因为某些原因无法安装oracle客户端),还想能够连接oracle远程服务&#…...

POP3协议详解

基本介绍 POP3是一种用于从邮件服务器获取电子邮件的协议。它允许邮件客户端连接到邮件服务器,检索服务器上存储的邮件,并将邮件下载到客户端设备上。POP3的工作原理如下: 连接和身份验证: 邮件客户端通过TCP/IP连接到邮件服务器…...

电子病历编辑器源码,提供电子病历在线制作、管理和使用的一体化电子病历解决方案

概述: 电子病历是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录,是病历的一种记录形式。 医院通过电子病历以电子化方式记录患者就诊的信息,包括&…...

WT2605C高品质音频蓝牙语音芯片:外接功放实现双声道DAC输出的优势

在音频处理领域,双声道DAC输出能够提供更为清晰、逼真的音效,增强用户的听觉体验。针对这一需求,唯创知音的WT2605C高品质音频蓝牙语音芯片,通过外接功放实现双声道DAC输出,展现出独特的应用优势。 一、高品质音频处理…...

IntelliJ IDEA 2023.3 最新版如何如何配置?IntelliJ IDEA 2023.3 最新版试用方法

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

如何查看内存卡使用记录-查看的设备有:U盘、移动硬盘、MP3、SD卡等-供大家学习研究参考

主要功能 USB Viewer(USB移动存储设备使用记录查看器)可用于查看本机的USB移动存储设备使用记录。可查看的设备有:U盘、移动硬盘、MP3、SD卡……等。   可用于兵器、航空、航天、政府、军队等对保密要求较高的单位,可在计算机保…...

九、W5100S/W5500+RP2040之MicroPython开发<HTTPOneNET示例>

文章目录 1. 前言2. 平台操作流程2.1 创建设备2.2 创建数据流模板 3. WIZnet以太网芯片4. 示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代,MicroPython和树莓派PICO正…...

在 Laravel 中,清空缓存大全

在 Laravel 中,清空缓存通常涉及到清除应用程序中的缓存文件和数据库查询缓存。以下是一些常用的清空缓存方法: 1. 清除路由缓存: Laravel 的路由缓存可以提高应用程序的性能,但在开发过程中,你可能需要频繁地更改路…...

【贪心】单源最短路径Python实现

文章目录 [toc]问题描述Dijkstra算法Dijkstra算法的正确性贪心选择性质最优子结构性质 Dijkstra算法应用示例时间复杂性Python实现 个人主页:丷从心 系列专栏:贪心算法 问题描述 给定一个带权有向图 G ( V , E ) G (V , E) G(V,E),其中每…...

Spark Shell的简单使用

简介 Spark shell是一个特别适合快速开发Spark原型程序的工具,可以帮助我们熟悉Scala语言。即使你对Scala不熟悉,仍然可以使用这个工具。Spark shell使得用户可以和Spark集群交互,提交查询,这便于调试,也便于初学者使用…...

Springsecurty【2】认证连接MySQL

1.前期准备 基于Spring Initializr创建SpringBoot项目(基于SpringBoot 2.7.12版本),实现与MyBatisPlus的项目整合。分别导入:CodeGenerator和MyBatisPlusConfig。 CodeGenerator:用于MybatisPlus代码生成;…...

5分钟终极指南:在Blender中完美导入Rhino 3dm文件的完整教程

5分钟终极指南:在Blender中完美导入Rhino 3dm文件的完整教程 【免费下载链接】import_3dm Blender importer script for Rhinoceros 3D files 项目地址: https://gitcode.com/gh_mirrors/im/import_3dm 你是否正在寻找一种简单、快速且免费的方法&#xff0c…...

基于CircuitPython的Fruit Jam OS:在RP2350上构建复古微型计算机系统

1. 项目概述:当复古计算精神遇见现代微控制器如果你和我一样,对早期个人计算机那种开机即用、一切尽在掌控的纯粹体验抱有怀念,同时又痴迷于现代开源硬件带来的无限可能,那么Fruit Jam OS绝对是一个会让你眼前一亮的项目。它不是一…...

Solon框架:微内核驱动的Java全栈云原生应用开发实践

1. 项目概述:从“微内核”到“全栈”的Java框架演进如果你在Java生态里摸爬滚打有些年头,肯定经历过从SSH(StrutsSpringHibernate)到SSM(Spring MVCSpringMyBatis)的架构变迁,也一定对Spring Bo…...

2026年冰袋吸水粉厂家大揭秘:选择指南与行业趋势题

随着冷链物流行业的快速发展,冰袋吸水粉作为冷链运输中不可或缺的保冷材料,其市场需求持续增长。然而,市场上冰袋吸水粉的质量参差不齐,如何选择一家值得信赖的厂家成为许多采购商关注的重点。本文将从行业背景、技术特点及市场趋…...

555定时器深度解析:从RC电路到三种工作模式的原理与应用

1. 项目概述在电子设计的工具箱里,有那么几颗芯片,你几乎可以在任何时代的电路板上找到它们的身影。它们可能不是性能最强的,但一定是应用最广、最经久不衰的。今天要聊的555定时器,就是这样一个“活化石”级别的存在。自上世纪70…...

Hermes Agent 工具如何配置接入 Taotoken 提供的模型服务

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent 工具如何配置接入 Taotoken 提供的模型服务 Hermes Agent 是一个流行的开源智能体框架,它允许开发者通过…...

Claude API密钥自动化同步工具:架构设计与实战部署指南

1. 项目概述与核心价值最近在折腾一个挺有意思的自动化项目,起因是我发现团队里不同成员在使用Claude API时,经常遇到一个挺烦人的问题:每个人手里的API密钥状态不一致。有的同事的密钥突然失效了,有的配额用完了自己还不知道&…...

Playnite完整指南:高效统一你的跨平台游戏库管理体验

Playnite完整指南:高效统一你的跨平台游戏库管理体验 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址: http…...

别再瞎猜了!LaTeX排版中em、ex、pt、px到底该用哪个?一篇讲透所有单位

LaTeX排版单位全指南:从em到px的精准选择法则 当你第一次打开LaTeX文档,准备调整行距或设置边距时,那些神秘的缩写——em、ex、pt、px——是否让你感到困惑?每个单位似乎都有其存在的理由,但何时使用哪个才是最合适的&…...

别再只会写脚本了!用Matlab APP Designer给你的数据分析做个可视化界面(附完整代码)

从脚本到交互式应用:用MATLAB APP Designer打造专业数据分析工具 在数据科学和工程领域,MATLAB一直是不可或缺的计算工具。然而,许多用户长期停留在命令行脚本的层面,未能充分发挥MATLAB的完整潜力。本文将带您突破这一局限&#…...