Oracle基础以及一些‘方言’(一)

news2024/10/1 7:41:27

1、什么是Oracle

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

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

  •  英文官网:Database | Oracle

     中文官网:数据库 | Oracle 中国

------ 来自百度百科

2、DB-Engines排名

3、ORACLE 体系结构

  • 数据库

    • Oracle 数据库是数据的物理存储,是一组存储数据的文件。 这就包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数文件)。

    • 其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是 Oracle 就只有一个全局的数据库,这一点和MySQL不太一样。

  • 实例

    • 一个Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。是管理数据库文件的。一个数据库可以有 n 个实例。但通常情况下,一个实例对应一个数据库

  • 数据文件(dbf)

    • 数据文件是数据库的物理存储单位。也就是说最终数据落到磁盘上是以文件形式存在的,这个文件就叫做数据文件,后缀名是dbf

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

  • 表空间

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

    • 每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。表空间下还有进一步的逻辑划分。

    • 由于 oracle 的数据库不是普通的概念,oracle 是有用户和表空间对数据进行 管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

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

  • 用户

    • 用户是在表空间下建立的。用户登陆后只能看到和操作自己的表, ORACLE的用户与 MYSQL 的数据库类似,每建立一个应用需要创建一个用户
    • MySQL中是一个用户可以查看、管理操作多个数据库,不同的应用创建不同的数据库
    • Oracle是一个数据库下可以创建不同的用户,每个用户可以操作属于自己的表。正好和MySQL的概念是反过来的

4、Oracle语法之DDL操作:创建表空间、用户以及用户赋权

  • 创建表空间

    • SQL语句:
    • --1、查看已有表空间的存储路径
      select name from v$datafile;
      
      --2、创建表空间
      create tablespace sql50
      datafile '/home/app/oracle/oradata/orcl/sql50.dbf'
      size 100m
      autoextend on
      next 10m;
      
    • 解释:
    • sql50             为表空间名称
      datafile          用于设置物理文件名称
      size              用于设置表空间的初始大小
      autoextend on     用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
      next              用于设置扩容的空间大小
      
  • 创建用户

    • SQL语句:
    • --1、查看当前所有用户
      select username from all_users;
      
      --2、创建新用户
      create user sql50_user
      identified by 123456
      default tablespace sql50;
      
    • 解释:
    • sql50_user            为创建的用户名。
      identified by         用于设置用户的密码
      default tablesapce    用于指定默认表空间名称
      
  • 用户赋权

    • SQL语句:
    • -- 给用户赋予dba权限
      grant dba to sql50_user;
      
      -- 给用户对某个表(table_name)的select权限:
      grant select on table_name to sql50_user;
      
      -- 授予创建会话权限   
      grant create session to sql50_user;
        
      -- 授予使用表空间的权限(这里假设表空间名为sql50)   
      grant unlimited sql50 to sql50_user;
        
      -- 授予对teachers表的SELECT和INSERT权限  
      grant select, insert on teachers to sql50_user;
        
      -- 提交更改  
      COMMIT;
    • 解释:
    • 系统权限:控制用户对数据库的整体访问,如CREATE SESSION(创建会话)、CREATE TABLE(创建表)等
      对象权限:控制用户对特定数据库对象(如表、视图、序列等)的访问,如SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)等
      如果需要授予多个权限,可以在一个GRANT语句中列出所有权限,或使用多个GRANT语句。
    • 注意事项:
      • 权限最小化原则:为了避免安全风险,建议只授予用户所需的最小权限。
      • 权限撤销:如果需要撤销用户的权限,可以使用REVOKE语句,语法与GRANT相似,但关键字为REVOKE。
      • 权限传递:Oracle还支持权限的传递,即用户A可以将权限授予用户B,用户B又可以将权限授予用户C,但需要注意权限传递的限制和安全性问题。
      • 角色管理:Oracle中的角色是权限的集合,可以将一组权限授予一个角色,然后将角色授予多个用户,从而简化权限管理。

5、Oracle语法之DML操作:表的创建、修改与删除

  • 创建表

    • SQL语法:

    • ​
      CREATE TABLE table_name (
          column1 datatype [DEFAULT expression] [constraint],
          column2 datatype [DEFAULT expression] [constraint],
          ...
      );
    • 解释:

    • table_name:表的名称。
      column1, column2, ...:列的名称。
      datatype:列的数据类型,如 VARCHAR2, NUMBER, DATE 等。
      DEFAULT expression:为列指定默认值。
      constraint:为列添加约束,如 PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK 等。
      
    • 数据类型:

    • 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
    • 实例:

    • -- 创建 Student 学生表
      CREATE TABLE Student
      (
      s_id VARCHAR(20),
      s_name VARCHAR(20) NOT NULL,
      s_birth VARCHAR(20) NOT NULL,
      s_sex VARCHAR(10) NOT NULL,
      PRIMARY KEY(s_id)
      );
      
      -- 创建 Course 课程表
      CREATE TABLE Course
      (
      c_id VARCHAR(20),
      c_name VARCHAR(20) NOT NULL,
      t_id VARCHAR(20) NOT NULL,
      PRIMARY KEY(c_id)
      );
    • 注意:如果需要给表添加注释,需要额外的语句实现
  • 修改表

    • 增加字段

      • 增加字段语法:

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

      • -- 我们给学生表中添加身高和体重两个字段
        ALTER TABLE student ADD
        (
            s_height number,
            s_weight number
        );
        
    • 修改字段

      • 修改字段语法:

      • ALTER TABLE 表名称 MODIFY(
            列名1  类型  [DEFAULT  默认值],
            列名2  类型 [DEFAULT  默认值]...
        );
        
      • 示例:
      • -- 这是修改字段的示例
    • 修改字段名

      • 修改字段名语法:

      • ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名;
      • 示例:

      • -- 这是修改字段名示例
    • 删除字段名

      • 删除字段名语法:

      • -- 删除一个字段
        alter table 表名称 drop column 列名;
        
        -- 删除多个字段
        alter table 表名称 drop (列名1, 列名2 ...);
        
      • 示例:

      • -- 这是删除字段名的示例
        ALTER TABLE student DROP
        (
            s_height,
            s_weight
        );
        
  • 删除表

    • SQL语法:
    • DROP TABLE 表名;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费试用Aicbo AI绘图软件,你的艺术梦想触手可及

最近AI绘图技术风靡全球,今天要给大家推荐一款集成了免费试用AI绘图软件的神器,即便你是从零开始,也能迅速掌握,创作出令人惊叹的艺术作品。平台是叫:Aicbo 这款神器设计人性化,操作极其简便,只…

apache:the requested operation has failed使用httpd -t

Apache24\bin cmd 回车 httpd -t 因为我重新压缩了,记住,重新压缩要使用原路径, 因为你安装的 时候使用的是原路径 还是不行就改个端口,切记修改配置文件httpd.conf先把Tomcat停了 Define SRVROOT "F:\Apache\Apache24&q…

相机光学(三十)——N5-N7-N8中性灰

GTI可提供N5/N7/N8中性灰涂料,用于不同的看色环境,N5/N7/N8代表深中浅不同的灰色程度,在成像、工业、印刷行业中,分别对周围观察环境有一定的要求,也出台了相应的标准文件,客户可以根据实际使用环境进行选择…

7.9实验室总结 SceneBuilder的使用方法+使用javafx等

由于下错了东西,所以一直运行不出来,今天一直在配置环境,配置好了才学,所以没学多少,看了网课学习了SceneBuilder的使用方法还有了解了javafx是怎么写项目的,, 学习了怎么跳转页面:…

ctfshow-web入门-文件上传(web164、web165)图片二次渲染绕过

web164 和 web165 的利用点都是二次渲染,一个是 png,一个是 jpg 目录 1、web164 2、web165 二次渲染: 网站服务器会对上传的图片进行二次处理,对文件内容进行替换更新,根据原有图片生成一个新的图片,这样…

效果惊人!LivePortrait开源数字人技术,让静态照片生动起来

不得了了,快手已经不是众人所知的那个短视频娱乐平台了。 可灵AI视频的风口尚未过去,又推出了LivePortrait--开源的数字人项目。LivePortrait让你的照片动起来,合成逼真的动态人像视频,阿里通义EMO不再是唯一选择。 让图像动起来 LivePortrait 主要提供了对眼睛和嘴唇动作的…

免费下载工具 -- Free Download Manager(FDM) v6.24.0.5818

软件简介 Free Download Manager (FDM) 是一款免费的功能强大的下载管理软件,适用于多种操作系统,包括 Windows、macOS、Android 和 Linux。这款软件的特色在于它快速、安全且高效的下载能力。它可以下载各种热门网站的影片,支持 HTTP/HTTP…

申请商标用什么颜色:企业和个人申请注册商标攻略!

在申请注册商标到底要用什么颜色,许多初次申请注册主体都不是特别清楚,普推知产商标老杨建议,在一般情况下建议尽量用黑白色,因为商标用黑白色在使用时可以着任何色。 在用黑色申请注册成功,别的主体用其它颜色要在同…

宝塔面板运行Admin.net框架

准备 宝塔安装 .netcore安装 Admin.net框架发布 宝塔面板设置 完结撒花 1.准备 服务器/虚拟机一台 系统Windows server / Ubuntu20.04(本贴使用的是Ubuntu20.04版本系统) Admin.net开发框架 先安装好服务器系统,这里就不做安装过程描述了&…

802.11漫游流程简单解析与笔记_Part2_05_wpa_supplicant如何通过nl80211控制内核开始关联

最近在进行和802.11漫游有关的工作,需要对wpa_supplicant认证流程和漫游过程有更多的了解,所以通过阅读论文等方式,记录整理漫游相关知识。Part1将记录802.11漫游的基本流程、802.11R的基本流程、与认证和漫游都有关的三层秘钥基础。Part1将包…

读人工智能全传08人工智能的今天

1. 人工智能的今天 1.1. 未来,或许有些领域会有非常明显的人工智能痕迹,有些领域则不会 1.2. 2018年,来自计算机视觉处理器公司英伟达的研究人员证明了人工智能软件能够创造出虚假的人物照片,并且能够完全…

人话学Python-基础篇-字符串

一:字符串的定义 在Python中使用引号来定义。不论是单引号还是双引号。 str1 Hello World str2 "Hello World" 二:字符串的访问 如果我们要取出字符串中单独的字符,需要使用方括号来表示取得的位置。如果要取出字符串的子串&…

Web3时代的数字身份认证:安全性与隐私保护探讨

随着区块链技术的发展和普及,数字身份认证正逐步成为Web3时代的关键基础设施。传统的身份认证系统存在着中心化数据存储、数据泄露和身份盗用等风险,而基于区块链的数字身份认证则通过去中心化、加密和分布式存储等特性,重新定义了安全性和隐…

如何确定一个期刊或会议是不是EI检索?

1、在爱思唯尔官网下载最新的目录。(如下图所示) 网址:Engineering Village | Databases | Compendex | Elsevier 2、 在Excel表格里搜索相应的期刊或会议名称。 3、根据关键词搜索即可,如果可以搜到,一般就可以说明这…

JS之防抖和节流

防抖 (debounce) 所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。 ps: 重置普攻,百度翻译要输完停止一定时间后才翻译。 没有防抖和节流的缺点: 函数触发…

第三期书生大模型实战营 第1关 Linux 基础知识

第三期书生大模型实战营 第1关 Linux 基础知识 第三期书生大模型实战营 第1关 Linux 基础知识InternStudio开发机创建SSH密钥配置通过本地客户端连接远程服务器通过本地VSCode连接远程服务器运行一个Python程序总结 第三期书生大模型实战营 第1关 Linux 基础知识 Hello大家好&a…

NLP入门——卷积语言模型的搭建、训练与预测

语言模型建模是针对句子建模,主要分为掩码语言模型和自回归语言模型。 我们从corpus中截取一句话作为例子,这句话是bpe分词后的句子: 1994 年 5 月 17 日 安全 理事会 第 33 77 次 会议 通过 掩码语言模型的主要机制是:例如将33 7…

中职网络安全B模块渗透测试server2003

通过本地PC中渗透测试平台Kali对服务器场景Windows进⾏系统服务及版本扫描渗透测 试,并将该操作显示结果中Telnet服务对应的端⼝号作为FLAG提交 使用nmap扫描发现目标靶机开放端口232疑似telnet直接进行连接测试成功 Flag:232 通过本地PC中渗透测试平台…

软件开发面试题(C#语言,.NET框架)

1. 解释什么是委托(Delegate),并举例说明它在C#中的用法。 委托是一种引用类型,它可以用于封装一个或多个方法。委托对象可以像方法一样调用,甚至可以用于创建事件处理程序。委托是C#中实现事件和回调函数的重要机制。…

【无聊找点事干】局域网内把window 搭建为代理服务器上网

场景描述 同一局域网内,server 2012可以上网,window 10无法上网。现在将电脑server 2012设置为代理服务器,使得window 10可以通过server 2012访问公网。 server 2012:服务端 安装代理服务器软件:CCProxy点击‘设置’…