当前位置:网站首页 > R语言数据分析 > 正文

oracle教程入门(oracle入门很简单)



Oracle数据库是相对于其他数据库来说比较难的一个。Oracle Database,又名Oracle RDBMS,简称Oracle。是甲骨文公司推出的一款关系数据库管理系统。Oracle数据库系统是目前世界上流行的关系数据库管理系统,拥有可移植性好、使用方便、功能强等优点,在各类大、中、小、微机环境中都适用。Oracle是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。下面我们来具体的学习一下:

首先我们来看什么是Oracle数据,他的组成都有哪些?

Oracle数据库服务器由一个数据库和至少一个数据库实例组成。 数据库是一组存储数据的文件,而数据库实例则是管理数据库文件 的内存结构。此外,数据库是由后台进程组成。数据库和实例是紧密相连的,所以我们一般说的Oracle数据库,通常指的就是实例和数据库。

Oracle 11G如何安装

https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html这是一个Oracle11g的下载链接,大家可以根据自己的电脑系统下载不同的安装包。大家这里需要注意,会下载一个文件一和文件二。

如图,下载好后,选中2个压缩包,解压到一个文件夹就可以了,这点非常重要。选择setup.exe 安装就行。

数据库的创建

安装完成后我们在CMD命令窗口中执行sqlplus命令,来打开终端,此时他会提示我们输入用户名和密码,这个时候用户可以输入sys,密码则是你在安装的时候设置的密码。

接下来我们创建一个用户:

我们给user1用户来授权:

上面我们创建了一个用户,并且授予了登录和DBA的权限,下面我们用user1来进行登录看看:

会提示你输入密码,登录成功。注意,user1用户仅存在于orcl数据库中,因此,必须在CONNECT命令中明确指定用户名为user1@orcl。

Oracle创建数据库有三种方式:

  1. 用oracle dbca来创建
  2. 手工创建数据库(这个是比较复杂的)
  3. 使用oracle managed Field来创建

带着问题去学习

常用的查询方面的有:

  • Select 演示如何查询单个表中的数据。

排序方面有:

  • Order By 按升序或降序对查询的结果集进行排序。

过滤方面有:

  • Distinct 介绍如何消除查询输出中的重复行。
  • Where 演示如何为查询返回结果集中的行记录指定过滤条件。
  • And 组合两个或两个以上的布尔表达式,如果所有表达式都为true,则返回true。
  • Or 组合两个或两个以上的布尔表达式,如果其中一个表达式为true,则返回true。
  • Fetch 演示如何使用行限制子句限制查询返回的行数。
  • in 演示如何使用行限制子句限制查询返回的行数。
  • Between 基于一系列值(区间值)过滤数据。
  • Like 根据特定模式执行匹配。

链接表方面有:

  • Inner join 演示如何从表中查询具有与其他表匹配的行记录。
  • Left join 介绍左连接概念,并学习如何使用它选择左表中具有,但右表中不具有的行记录。
  • Right join 解释右连接概念,并演示如何从右表查询具有,但左表中不具有的行记录。
  • Cross join –介绍如何从多个表中构建笛卡尔乘积。
  • Self join 演示如何将表连接到自身以查询分层数据或比较同一个表中的行记录。

分组方面有:

  • Group By 演示如何将行分组为子组,并为每个分组应用聚合函数。
  • Having 演示如何过滤分组中的行记录。

子查询方面有:

  • 子查询 - 介绍子查询的概念以及如何使用子查询来执行高级数据选择技术。
  • 相关子查询 - 了解相关的子查询,它是一个依赖于外部查询返回的值的子查询。
  • EXISTS和NOT EXISTS - 检查子查询返回的行是否存在。
  • ANY,SOME和ALL - 将值与列表或子查询进行比较。

设置操作符

  • UNION - 演示如何将两个查询的结果合并为一个结果。
  • INTERSECT - 演示如何实现两个独立查询的结果的交集。
  • MINUS - 学习如何从一个结果集中减去另一个结果(也就是求差集)。

修改数据

  • INSERT - 学习如何在表中插入一行。
  • INSERT INTO SELECT - 从查询结果中将数据插入到表中。
  • INSERT ALL - 讨论多重插入语句,将多行插入到一个或多个表中。
  • UPDATE - 演示如何更新表的存在的数据值。
  • DELETE - 演示如何从表中删除一行或多行。
  • MERGE - 使用单个语句逐步完成插入,更新和删除操作。

数据定义:

  • CREATE TABLE - 演示如何在数据库中创建新表。
  • IDENTITY列 - 了解如何使用IDENTITY子句来定义表的标识列。
  • ALTER TABLE - 演示如何改变表的结构。
  • ALTER TABLE ADD列 - 显示如何将一个或多个列添加到现有表
  • ALTER TABLE MODIFY列 - 演示如何更改表中现有列的定义。
  • DROP COLUMN - 了解如何使用各种语句从表中删除一列或多列。
  • DROP TABLE - 演示如何从数据库中删除表。
  • TRUNCATE TABLE - 更快,更有效地删除表中的所有数据。
  • RENAME TABLE - 学习如何重命名表和处理其依赖对象的过程。

数据类型:

  • Oracle数据类型 - 内置Oracle数据类型的概述。
  • NUMBER - 介绍数字数据类型,并展示如何使用它为表定义数字列。
  • FLOAT - 通过实例来解释Oracle中的浮点数据类型。
  • CHAR - 了解固定长度的字符串类型。
  • NCHAR - 演示如何存储固定长度的Unicode字符数据,并解释CHAR和NCHAR数据类型之间的区别
  • VARCHAR2 - 向您介绍可变长度字符,并向您展示如何在表中定义可变长度字符列。
  • NVARCHAR2 - 了解如何在数据库中存储可变长度的Unicode字符。
  • DATE - 讨论日期和时间数据类型,并说明如何有效地处理日期时间数据。
  • TIMESTAMP - 介绍如何以小数秒精度存储日期和时间。
  • INTERVAL - 介绍区间数据类型,主要用来存储时间段。
  • TIMESTAMP WITH TIME ZONE - 了解如何使用时区数据存储日期时间。

约束:

  • 主键 - 解释主键概念,并演示如何使用主键约束来管理表的主键。
  • 外键 - 解释介绍外键概念,并演示如何使用外键约束来强制表之间的关系。
  • NOT NULL约束 - 演示如何确保列不接受NULL值。
  • UNIQUE约束 - 讨论如何确保存储在一列或一组列中的数据在整个表内的行之间是唯一的。
  • CHECK约束 - 在将数据存储到表中之前添加用于检查数据的逻辑的过程。

创建表空间

创建临时表空间  

创建数据表空间

创建用户并指定表空间

创建表

创建表的一般语法格式如下:

创建表并且指定主键等约束:

添加数据--Insert

更新数据 -- Update

删除数据 -- Delete

查询语句 -- Select

链接查询

Oracle 常用分页

Oracle 创建视图

视图的优点有如下:

  • 对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。
  • 用户通过简单的查询可以从复杂查询中得到结果。
  • 维护数据的独立性,试图可从多个表检索数据。
  • 对于相同的数据可产生不同的视图。

视图分为简单视图和复杂视图:

  • 简单视图只从单表里获取数据,复杂视图从多表;
  • 简单视图不包含函数和数据组,复杂视图包含;
  • 简单视图可以实现DML操作,复杂视图不可以。

删除视图

Oracle 中EXISTS 和 NOT EXISTS

  • EXISTS (sql 返回结果集为真)
  • NOT EXISTS (sql 不返回结果集为真)

EXISTS 和 NOT EXISTS 用的也是比较多的,效率相对来收也比较优。

IN、NOT IN的用法

自定义函数

文档未完,持续更新中

以上部分内容来自网络,有问题可以在下面评论,技术问题可以私聊我。

到此这篇oracle教程入门(oracle入门很简单)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • rme adi2 dac pro 区别(rme adi2 dac fs)2025-08-02 21:45:06
  • 制作纯dos启动u盘工具(ultraiso制作dos启动盘)2025-08-02 21:45:06
  • offering praise翻译(offer to take a message翻译)2025-08-02 21:45:06
  • druid 未授权访问(Druid未授权访问漏洞)2025-08-02 21:45:06
  • red hat linux挂载u盘(linux 挂载usb硬盘)2025-08-02 21:45:06
  • jcenter(jcenter()不支持浏览)2025-08-02 21:45:06
  • raise是几年级的单词(noise是几年级的单词)2025-08-02 21:45:06
  • localdatetime工具类(localdatetime tostring)2025-08-02 21:45:06
  • ⅴr,ar是什么意思(ar%是什么)2025-08-02 21:45:06
  • score可数还是不可数(score可数还是不可数名词)2025-08-02 21:45:06
  • 全屏图片