Oracle总结一

1.1 数据

数据是描述事物的符号,它有多种表现形式:文本,图形,音频,视频。计算机处理数据的基本单位是字节。

1.2 数据库(Database, 简称DB)

同粮库,车库类似,数据库是计算机中存储和管理数据的仓库,可被用户共享。

1.3 数据库管理系统(Database Management System)

数据库管理系统(DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。

常用的数据库管理系统有:Oracle, MySQL, SQL Server ,DB2,Access等

1.4 数据库应用系统(Database Application System)

数据库应用系统(DBAS)是在数据库管理系统基础上,使用数据库管理系统的语法,开发的直接面向最终用户的应用程序。例如:学生管理系统、人事管理系统、图书管理系统,京东商城等

1.5 数据库管理员(Database Administrator)

数据库管理员即数据库管理系统的操作者,简称DBA

1.6 最终用户

数据库应用程序的使用者称为最终用户

1.7 数据库系统( Database System, DBS)

数据库+数据库管理系统+数据库应用程序+数据库管理员+最终用户

1.8 数据库发展阶段

— 1.网状数据库

— 2.层次数据库

— 3.关系型数据库

采用关系(二维表)结构储存与管理数据;采用结构化查询语言(SQL)作为客户端程序与数据库服务器间沟通的桥梁, 关系型数据库是目前主流的数据库技术

— 4.面向对象数据库

把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致

— 5.NOSQL数据库

Not Only SQL数据库,泛指非关系型数据库。如MongoDB

关系型数据库在超大规模和高并发的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题。NoSQL数据库的产生就是为了解决大规模数据及多重数据种类带来的挑战,尤其是大数据应用难题。

2.1 Oracle(甲骨文)公司

发展历程:

1,1977年,三个人在硅谷合伙创办名为软件开发实验室(Software Developement Laboratories,SDL)的计算机公司(ORACLE公司的前身)

2,1979年,更名为Relational Software Inc. RSI

3,1983年,为实出核心产品,RSI更名为Oracle

4,2002年04月26日,启用”甲骨文”作为中文注册商标

5,2009年4月20日,甲骨文公司收购SUN公司

6,2013年,甲骨文超越IBM,成为继Microsoft之后全球第二大软件公司

7,2014年10月01日甲骨文公司创始人拉里·埃里森,以500亿美元排名第三。

2.2 Oracle数据库管理系统

Oracle数据库管理系统是Oracle公司的核心产品 ,目前最流行的数据库管理系统。我们通常说的Oracle数据库就是指Oracle数据库管理系统。

主要版本:Oracle8i/9i(internet)、Oracle10g/11g(grid)

2013年6月26日,Oracle Database 12c(cloud)版本正式发布

3.1 Oracle安装

Oracle 安装的注意事项如下:

— 1.计算机硬件要求

主要是内存容量,建议8G及以上内存

— 2.计算机软件要求

32位操作系统不要安装64位Oracle,注意操作系统和Oracle版本要匹配

— 3.安装路径

Oracle会自动选择剩余空间最大的硬盘作为Oracle安装根路径,因此在安装时如果插上了移动硬盘则可能会把移动硬盘当成根路径,此时一定要修改成本地硬盘路径,并且路径上不要使用中文和特殊字符。例如:D:\app\lujun\Administrator

— 4.其它注意事项

为了保证Oracle安装顺利进行,建议断网,关掉其他软件,关掉防火墙和杀毒软件

接下来按照安装向导,一步步安装即可,具体可参考”oracle11g安装教程.doc”

3.2 两个概念

A. 全局数据库名

唯一标识Oracle数据库的名称

B. 数据库实例名SID

实例名是和操作系统交互,Oracle数据库的一个引用。每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库

以上两个名称通常相同(orcl)

3.3 Oracle服务

Windows下,安装Oracle 11g后生成多个服务。通过选择”控制面板”→”管理工具”→”服务”,打开”服务”窗口,可以看到Oracle的服务。如果要访问Oracle

数据库,需要开启监听器服务和实例服务

OracleService

OracleOraDb11g_hom1TNSListener :数据库监听服务

OracleDBConsoles

3.4 Oracle连接测试

连接Oracle数据库管理系统(Oracle服务器)的方式有两种:

选择开始菜单里的”Oracle11g”—>”应用程序开发”—>”SQL Plus”来连接

错误1:ORA-12541: TNS: 无监听程序

出现这个错误,请到服务窗口中启动”OracleOraDb11g_hom1TNSListener “

错误2:ORA-12560: TNS: 协议适配器错误

出现这个错误,请到服务窗口中启动”OracleServiceORCL”

大家要牢记连接Oracle服务器必需启动上面的两个服务

错误3:Ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

正常情况下一般只要服务启动,客户端连接数据库没有什么问题,但是有时重复启动服务也会出现ORA-12514错误,此时过一段时间再去连接数据库就OK了,如果确认两个服务都已启动成功,但还是报ORA-12514错误,那就需要考虑监听实例名,具体

操作:

打开D:\app\lujun\product\11.2.0\dbhome_1\NETWORK\ADMIN下的文件listener.ora,在listener.ora中增加如下内容:

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = D:\app\lujun\product\11.2.0\dbhome_1)

(SID_NAME = ORCL)

再保存listener.ora文件,关闭并重新启动服务,问题解决!

注意:ORACLE_HOME是安装oracle服务器产品的基目录,一直写到dbhome_1路径

3.5 卸载Oracle

1.停止Oracle所有服务

2.通过开始菜单下Oracle中选项执行自动卸载

Oracle安装产品—Universal Installer

3.删除Oracle安照主目录 ,如D:\app

4.删除C盘下Oracle工作目录

C:\Program Files (x86)\Oracle

5.删除注册表中Oracle相关项

运行窗口中运行regedit,进入注册表编辑窗口

具体删除内容到网上查询

6.最好也删除以下内容

删除内容C:\Users\用户名\Oracle

删除开始菜单Oracle组和图标

删除环境变量中path中Oracle相关项

\app\administator\product\11.2.0\dbhome_1\jdbc\lib:

该目录存放JDBC访问Oracle的驱动jar包

\app\administator\product\11.2.0\dbhome_1\NETWORK\ADMIN:

listener.ora和tnsnames.ora,配置监听器和本地网络服务名

\app\administator\product\11.2.0\dbhome_1\jdk:

存放Oracle自带的JDK

\app\administator\product\11.2.0\dbhome_1\deinstall:

执行其中的deinstall.bat进行第一步卸载操作

\app\administator\product\11.2.0\dbhome_1\install:

其中有oracle常用访问的端口列表

\app\administator\oradata\orcl:

存放指定数据库实例下的数据文件,控制文件和日志文件

SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限。SYS是Oracle的超级管理员,SYSTEM是oracle默认的系统管理员。我们平时用system来管理数据库就可以了。这个用户的权限对于普通的数据库管理来说已经足够了。

Scott是oracle的测试账户,练习账户

如果在安装Oracle服务器软件时,忘记给Scott解锁了,可按照如下步骤去解锁:

1.先用System登录,创建一个SQL窗口,输入如下命令:

alter user scott account unlock;// 解锁

  1. 执行命令”alter user scott identified by 新密码”给scott修改密码

接下来就可以用scott来登录oracle服务器了

Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接

服务器端配置监听器,客户端配置本地网络服务名(包括四个连接参数)

在安装Oracle服务器软件时自动配置了一个监听器,并且自动创建了和数据库实例名相同的本地网络服务名

listener.oratnsnames.ora分别用来存储监听器和本地网络服务名的信息

服务器端要使用监听器对客户端的访问进行监听,listener.ora监听器配置内容:

客户端配置本地网络服务名,tnsnames.ora网络服务名配置:

注意:网络服务名包含4个参数,分别是:

  1. 访问协议—–TCP

  2. 服务器IP地址 ——localhost

  3. 服务器监听端口——1521

  4. 服务器端的哪个数据库实例——-orcl

一般来说,安装好oracle服务器软件后不需要配置监听器和网络服务名,特殊情况下,如果被电脑上其它软件破坏了默认的配置信息,则可以使用Oracle中的

Net Configuration Assistant或 Net Manager工具来配置监听器和网络服务名

7.1交互式操作:SQL语句

  • 数据库表 table
  • 索引 index
  • 视图 view
  • 序列 sequence
  • 同义词 synonym
  • 表空间 tablespace
  • 存储过程 procedure
  • 函数 function
  • 触发器 trigger
  • 包 package

7.2批处理操作:PL/SQL编程

7.3 其他内容

事务 、安全、 备份和恢复 、系统优化

7.4 SQL语言

常用的SQL语言有如下三类

  • DQL(数据查询语言) select
  • DML(数据操作语言)insert、update、delete
  • DDL(数据 定义语言)create、alter、drop

注意:数据操作语言针对表中的数据,而数据定义语言针对数据库对象(表、索引、视图、触发器、存储过程、函数、表空间等)。最基本的是DQL和DML,内容最多最复杂的是DQL

先睹为快:

— 查询数据

select * from emp;

select * from emp order by sal desc ;

— 插入数据

insert into student (id,name,age) values(2,’lkl’,45);

— 修改数据

update student set score=88 where id=2;

— 删除数据

delete from student where id=2;

— 创建用户

CREATE USER bjsxt IDENTIFIED BY bjsxt;

— 授予用户权限

GRANT connect,resource TO bjsxt;

8.1 什么是SQL语言

结构化查询语言(Structured Query Language)(发音?es kju??)

SQL是最重要的关系数据库操作语言,是所有关系数据库管理系统的标准语言

许多数据库厂商在使用SQL的同时,都对SQL进行了扩展,比如ORACLE的PL/SQL语言,MS SQL-Server的T-SQL语言

SQL语言是一种非过程化语言,只需要提出”做什么”,而不需要指明”怎么做”

8.2 SQL可以做什么

  • 数据库数据的增删改查操作(CRUD)
  • 数据库对象的创建,修改和删除操作
  • 用户权限/角色的授予和取消
  • 事务控制

8.3 SQL语言分类

SQL语言共分为五大类,分别如下:

1) DQL(数据查询语言) select

2) DML(数据操作语言)insert、update、delete

3) DDL(数据定义语言)create、alter、drop

4) DCL(数据控制语言)grant、revoke

5) TCL(事务控制语言) ROLLBACK、SET TRANSACTION ,COMMIT

数据操作语言针对表中的数据,而数据定义语言针对数据库对象(表、索引、视图、触发器、存储过程、函数、表空间等)

8.4 练习表介绍

Oracle数据库安装成功后,scott用户共有4张表:

以后我们就把这4张表作为练习表,分别如下:

以上每个表的表结构如下:

表和表之间的关系:员工属于某个部门,emp表引用dept表

8.5 关系型数据库的基本概念

8.6 Select单表查询

语法:select 字段1,字段2,字段3… from 表

特殊:如果要查询表的所有字段,则用*代替,例如:

Select * from emp; //查员工的全部信息

select empno, ename,sal from emp; //只查员工编号,姓名和月薪

在Select语句中,对数值型数据可以使用算术运算符创建表达式,例如:

select empno, ename, sal, sal*12 from emp;

select empno, ename, sal, sal*12 +5000 from emp;

可以为字段取个别名,方便更直观的显示查询结果,增强可读性。

给字段取别名的语法:字段 [as] 别名,as可省略。例如:

select empno as 员工编号, ename 员工姓名,sal 月薪, sal*12 年薪 from emp;

注意:别名如果含有空格或其他特殊字符或大小写敏感,需用双引号引起来。

AS可以省略 ,例如:

select empno as 员工编号, ename 员工姓名,sal 月薪, sal*12 “Total Salary” from emp;

select empno as 员工编号, ename 员工姓名,sal 月薪, sal*12 +5000 “全年收入(年薪加年终奖)” from emp;

连接运算符’||’可以把列与字符、或其它表达式连接在一起,得到一个新的字符串,实现’合成’列的功能。例如:

select ename||’ is a ‘|| job from emp;

select empno, ename||’ ”s total salary is ‘||sal*12 from emp;

缺省情况下,查询结果中包含所有符合条件的记录行,包括重复行。例如:

select deptno from emp;

使用DISTINCT关键字可从查询结果中清除重复行。例如:

select distinctdeptno from emp;

select distinct job from emp; //查询所有的职位

注意:DISTINCT的作用范围是后面所有字段的组合

select, distinct deptno job from emp;

使用order by 子句对查询结果进行排序

排序方式包括升序(asc,缺省)和降序(desc)两种:

select empno, ename, sal from emp order by sal;

select empno, ename, sal from emp order by sal desc ;

按多个字段排序 :

select deptno, empno, ename, sal from emp order by deptno, sal

使用字段别名排序 :

select empno, ename, sal*12 totalSal from emp order by totalSal

Original: https://www.cnblogs.com/jixia/p/10306458.html
Author: 稷下
Title: Oracle总结一

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/588578/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Kafka 主题解析

    一、主题管理 使⽤ kafka-topics.sh脚本时可用的配置: 选项 说明 –config cleanup.policy compression.type del…

    Java 2023年6月5日
    066
  • spring中的事件发布与监听

    点赞再看,养成习惯,微信搜索「 小大白日志」关注这个搬砖人。 文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。 spring事件发布与监听的应用场景 当处理完一段…

    Java 2023年6月8日
    067
  • IO(finally关键字的特点及作用)

    finally的特点 finally:被finally控制的语句体一定会执行* 注意:如果在执行到finally之前jvm退出了,就不能执行了。** A:格式* try&#8230…

    Java 2023年6月5日
    080
  • 分布式ID详解(5种分布式ID生成方案)

    分布式架构会涉及到分布式全局唯一ID的生成,今天我就来详解分布式全局唯一ID,以及分布式全局唯一ID的实现方案@mikechen 什么是分布式系统唯一ID 在复杂分布式系统中,往往…

    Java 2023年6月15日
    076
  • 30个类手写Spring核心原理之AOP代码织入(5)

    本文节选自《Spring 5核心原理》 前面我们已经完成了Spring IoC、DI、MVC三大核心模块的功能,并保证了功能可用。接下来要完成Spring的另一个核心模块—AOP,…

    Java 2023年6月7日
    074
  • 动力节点Spring框架学习笔记-王鹤(一)IOC控制反转

    1.1 概述 控制反转(IoC,Inversion of Control),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理…

    Java 2023年6月7日
    073
  • Project Lombok (即 Lombok)学习记录

    参考文档 什么是 Project Lombok ? 下载 Project Lombok 支持的安装方式 安装 Project Lombok lombok.jar 安装 eclips…

    Java 2023年6月9日
    075
  • JVM 运行时数据区 堆和方法区

    2、运行时数据区 哔哩哔哩 尚硅谷视频 宋红康老师 2.5、堆 堆的核心概述 一个JVM实例只存在一个堆内存,堆也是Java管理内存的核心区域 Java 堆区在JVM启动的时候即被…

    Java 2023年6月16日
    093
  • 【设计模式】Java设计模式-命令模式

    Java设计模式 – 命令模式 😄生命不息,写作不止🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆 一个有梦有戏的人 @怒放吧德德🌝分享学习心得,…

    Java 2023年6月16日
    078
  • 教学日志:javaSE-初识java

    一、编译执行第一个java程序 /* 总结: 1、编译执行第一个java程序 步骤如下: 1、安装JDK开发环境; 2、配置环境变量,JAVA_HOME,PATH;–验证环境变量…

    Java 2023年6月5日
    070
  • EasyExcel的基本使用

    官方网址:https://www.yuque.com/easyexcel/doc/easyexcel 应用场景 数据导入:减少录入工作量 数据导出:统计信息归档 数据传输:异构系统…

    Java 2023年6月13日
    089
  • Java this 关键字

    关键字 this 指对象本身,只能在类中使用。 有 Python基础的理解为 self就行了。 访问属性 class … { public static void main (…

    Java 2023年6月5日
    0101
  • 一个 dubbo 和 springboot 的兼容性问题

    最近把dubbo的版本从2.7.3升级到2.7.15时,遇到一个报错 No application config found or it’s not a valid c…

    Java 2023年6月16日
    058
  • 根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第12版)

    目录: 第1版:http://blog.csdn.net/vipbooks/article/details/51912143 第2版:http://blog.csdn.net/vi…

    Java 2023年6月9日
    093
  • 轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null

    大家在项目测试过程中,是不是经常会碰到这个空指针异常呢Caused by: java.lang.NullPointerException: null 当大家遇到这个问题,大家是怎么…

    Java 2023年5月29日
    0221
  • MyBatis的执行流程分析

    核心流程介绍 我们都知道 MyBatis 是对 JDBC 的封装,不管怎样,JDBC 的那一套还是不会变的,只是做了抽象、封装、归类等;所以我们顺着 JDBC 的思路来说下 MyB…

    Java 2023年6月5日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球