欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle基础操作

程序员文章站 2022-07-07 11:10:52
数据库的定义、作用介绍: 什么是数据库? 按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 数据库的发展史: 起始于1962年,1968年在IBM出现 数据库在测试过程中的作用: 需求分析阶段:了解测试环境数据库、表、数据等信息、需求 用例设计阶段:测试数据准备 用例执行阶段:测试 ......

 

数据库的定义、作用介绍:

 

什么是数据库?

按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。

 

数据库的发展史:

 

起始于1962年,1968年在IBM出现

 

数据库在测试过程中的作用:

 

需求分析阶段:了解测试环境数据库、表、数据等信息、需求

用例设计阶段:测试数据准备

用例执行阶段:测试数据构造、测试结果数据检查、代码逻辑查看

自动化测试:测试脚本、数据、工具

性能压力测试:数据准备、性能数据分析

测试环境搭建:维护数据库、执行配置脚本、备份恢复数据库等

 

数据库的分类:

 

层次式数据库

网络式数据库

关系式数据库(常用)

 

关系型数据库:

 

常用:

Oracle:Oracle(甲骨文)公司,多平台,性能最高,获得最高安全认证,适用大型

DB2:IBM公司,多平台,性能较高,获得最高安全认证,企业级应用最广

SQL Server:微软、windows平台,中小型网站和电子商务办公系统

MySQL:瑞典my sql AB公司,多平台,开源,中小型网站开发

Access:微软、windows平台,小型系统使用

MariaDB:MySQL的一个分支,完全兼容MySQL,包括API和命令行,使之能够成为MySQL的代替品

 

不常用:

Informix,Sybase,PostgreSQL

 

非关系型数据库:

 

常用:

Redis:开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型数、Key-Value数据库,并提供多种语言的PI

MongoDB:基于分布式文件存储的数据库。有C++语言编写,旨在为WEB应用服务器扩展的高性能数据存储解决方案。支持的查询语言非常强大,单表查询的绝大部分性能,而且还支持对数据建立索引。

Memcached:是一个高性能的分布式内存对象缓存系统,用于动态Web应用数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高数据库驱动网站的速度。

Cassandra:一个开源的、分布式、无中心、支持水平扩展、高可用的KEY-Value的NOSQL数据库。

 

不常用:

HBase、MemacheDB、BerkeleyDB、Tokyo Cabinnet

 

 

Oracle介绍:

 

公司简介:全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司(被成为“纯软件公司的先驱”。在个人计算机领域,靠卖软件赚钱的公司),总部位于美国加利福尼亚州的红木滩,其创始人是拉里诶里森。

 

市场份额:Oracle(54%)、IBM-DB2(21%)、MicrosoftMSQL(14%)

相关认证:OCM认证【大师】、OCP认证【专家】、OCA认证【专员】等

版本:免费版、标准版、标准版2、企业版

 

Oracle Server主要文件目录介绍:

Oracle基础操作

admin:主要存放数据库运行过程中产生的跟踪文件(后台进程,用户sql语句)

bin:包含数据库管理各种命令

ADMIN重要里面有监听文件(listence.ora tnsnames.ora sqlnet.ora)

Db_1:服务器数据库文件夹,代表Oracle目录树的根, 它包含与Oracle软件运行有关的子目录和网络文件以及选定的组件等

Oradata:数据库物理文件存储在oradata/db_name目录下,该目录主要存储数据库的控制文件、数据文件、重做日志文件。其中*.dbf文件对应数据库中每个表空间;.ctl文件为控制文件;.log文件对应重做日志文件组及其成员

Flash_recovery_area:目录存储并管理与备份和恢复有关的文件。它包含系统中每个数据库的子目录。该目录可用于存储与恢复有关的文件,如控制文件、联机重做日志副本、归档日志、闪回日志以及Oracle数据库恢复管理器(RMAN)备份等。

Oracle基础操作

 

adump:一般是audit dump

bdump:中有alert文件,和一些后台进程的trace file,bdump文件下放着的是数据库的预警文件,如果数据库出问题,该文件是DBA要查看的首选文件

cdump:一般放置一些核心的trace文件

udump:放着的是用户进程跟踪文件,用于收集客户应用的SQL语句的统计信息。

pfile:文件下放着的自然是数据库的初始化参数文件。

:如果觉得oracle卡了 ,可以把bdump和udump文件夹下文件删除

 

 

Oracle Client主要文件目录介绍:

 

ORACLE_HOME主要包括的子目录有:

BIN--主要包含用于数据库管理的各种命令等

cdd--与Oracle Cluster Synchronization服务有关的文件

dbs--存放数据库实例模式的脚本等

demo--存放数据库实例模式的脚本等

install--用于存储ORACLE安装后的端口号,iSQL*PLUS以及Enterprise Manager

Database Control启动并登录的方式等

NETWORD\ADMIN--有关监听器listener.ora和sqlnet.ora以及tnsnames.ora等

config--用于与Oracle Enterprise Menagement有关的端口管理等

database--初始化参数与口令文件

 

Oracle两种用户认证方式:

Sqlnet.authentication_services=(NTS)|(NONE)

NTS:操作系统认证方式,不使用口令文件;

NONE:口令文件认证方式

 Oracle基础操作

 

 

访问Oracle数据库四种方法:sql*plus工具、dos窗口sqlplus、isql、plsql

 

Cmd>regedit  进入注册表编辑器快捷命令,红框显示oracle注册信息

Oracle基础操作

 

 

Oracle版本号的含义

Oracle基础操作

 

Oracle产品版本号由5部分数字组成

1、主发布版本号:是版本的最重要的标识号,表示重大的改进和新的特征

2、主发布维护号:维护版本号,一些新的特性的增加和改进

3、应用服务器版本号:Oracle应用服务器的版本号

4、构件特定版本号:针对构件升级的版本号

5、平台特定版本号:标识操作系统平台相关的发布版本

 

1)Oracle主要版本

Oracle

Oracle 8/Oracle 8i(1CD):“i”表示internet,表示Oracle开始进军网络

Oracle 9i(3CD):属于Oracle 8i的稳定版本,现在依然大范围使用(使用率非常高,因为正好是中国进行电子化信息改革的开始)

Oracle 10g(630M):“g”表示网格Grid技术,使用了网络计算的方式,提升了数据库的分布式的访问性能

Oracle 11g(1.7G):属于Oracle 10g的稳定版本,现在新项目使用较多


  

 

plsql语句(Structured Query Language:结构化查询语言)

 

一、sql编写规范

 

明确规范

  • sql语句的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。
  • 连接符or、in、and、以及=、<=、>= 等前后加上一个空格。
  • 对较为复杂的sql语句、过程、函数加上注释,说明算法、功能。
  • SQL 语句的缩进风格

 

1. 一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进

2. where子句书写时,每个条件占一行,语句另起一行时,以保留字或者连接符开始,连接符右对齐。

多表连接时,使用表的别名来引用列。

 

其他注意事项

 

SQL 命令是大小写不敏感

  • SQL 命令可写成一行或多行
  • 一个关键字不能跨多行或缩写
  • 子句通常位于独立行,以便编辑,并易读

 

二、SQL语言基础

 

SQL语言分类

 Oracle基础操作

 

SQL语句规则

 

  • SQL 语句是大小写不敏感
  • SQL 语句可写成一行或多行
  • 一个关键字不能跨多行或缩写
  • 子句通常位于独立行,以便编辑,并易读
  • 空格和缩进使程序易读
  • 关键字大写,其他小写

 

算数表达式:

 

 对NUMBER和DATE型数据可用算数运算创建表达式

 Oracle基础操作

例如:select sal+800 from emp;

          select sal-200 from emp;

          select sal*5 from emp;

          select sal/3 from emp;

 

运算优先级:

 

乘法和除法的优先级高于加法和减法

同级运算的顺序是从左到右

表达式中使用括号可强行改变优先级的运算顺序

 

定义空值

 

空值指不可用,不知道,不实用的值

空值不等于零或空格

包括空值的算数表达式等于空

 

定义列的别名

 

改变列的标题头

使用计算结果

列的别名

如果使用特殊字符,或大小写敏感,或有空格时,需加双引号

 

例如 select ename as name from emp;或select ename name fromemp;

 

连结操作

 

将列或字符与其它列连结

用双“||”表示

产生的结果列是一个字符表达式

 

例如:

SELECT ename||job AS "Employees" FROM  emp;

 

文字字符串

 

文字字符串是一个包括在SELECT列表中的字符,表达式,或数字

日期和字符型文字字符必须用单引号括起来

每返回一条记录字符被输出一次

 

例:SELECT ename ||' '||'is a'||' '||job AS "Employee Details" FROM emp;

 

 Oracle基础操作

 

 

构造命令

 

SELECT 'delete from '||table_name||' where 1=0;'||chr(10)

FROM user_all_tables;

 

显示:

delete from CUSTOMERS where 1=0;

delete from PRODUCT_TYPES where 1=0;

delete from PRODUCTS where 1=0;

delete from PURCHASES where 1=0;

delete from EMPLOYEES where 1=0;

……………

……………

 

 

重记录:

 

缺省情况下查询显示所有行,包括重行

 

例:SELECT deptno FROM emp;

显示有重复信息

 Oracle基础操作

 

 

不想要重复 用distinct(去重),具体为select distinct deptno from emp;

但是distinct操作会引起排序,通过排序去掉重复记录

 

描述表结构

 

打开command windows , 输入"desc 表名",显示表结构(不能在sql windows中使用)

 

 

三、限定和排序数据

  • 限制某一查询所取记录

  • 排序查询结果

 

限定所选的条件

使用where限定查询条件

 

select  [distinct]* from emp where deptno = 20 and mgr = 7788

注:from子句在where子句之后

 

字符串和日期

  • 字符串和日期要用单引号扩起来

  • 字符串是大小写敏感的,日期值是格式敏感的

  • 缺省的日期格式是 'DD-MON-YY'

 

 

 

 

比较运算符

 

 Oracle基础操作

 

 

 

使用比较运算符

 

 

 

Oracle基础操作

Oracle基础操作

 

 

注:空值是直接不参与计算

 

其它的比较运算符

 Oracle基础操作

注:

between默认从小到达,不能输例如“between 1000 and 800”

 

使用BETWEEN运算符显示某一 值域范围的记录

 Oracle基础操作

 

注:

between默认从小到达,不能输例如“between 1000 and 800”

 

in的使用

 

使用IN运算符获得匹配列表值的记录

 

in 示例:

 

 Oracle基础操作

 

LIKE使用

 

使用LIKE运算符执行通配查询

查询条件可包含文字字符或数字

(%) 可表示零或多个字符

( _ ) 可表示一个字符

 

like 示例:

 Oracle基础操作

 Oracle基础操作

 

 

使用组合方式匹配字符

 Oracle基础操作

 

使用ESCAPE 标识符来查找带特殊符号的字符号

 Oracle基础操作

 

 

is null 使用

查询包含空值的记录

 

Oracle基础操作

 

运算逻辑符

 

Oracle基础操作

 

使用AND

 

AND需要条件都为TRUE

 

Oracle基础操作

 

 

OR 运算符

OR需要条件之一是TRUE

 

Oracle基础操作

 

 

使用not in 运算符

 

Oracle基础操作

 

优先级规则

 

括号将跨越所有优先级规则

 

Oracle基础操作

 

 

 

ORDER BY 子句

 

使用ORDER BY 子句将记录排序

  • ASC: 升序,缺省

  • DESC: 降序

ORDER BY 子句在SELECT语句的最后

 

降序排列:

 

Oracle基础操作

 

使用列的别名排序

 

Oracle基础操作

 

使用中文字符的别名排序

 

Oracle基础操作

 

注:

  1. 按中文拼音进行排序:SCHINESE_PINYIN_M

  2. 按中文部首进行排序:SCHINESE_RADICAL_M

  3. 按中文笔画进行排序:SCHINESE_STROKE_M

 

通过ORDER BY 列表的顺序来排序

 

Oracle基础操作

 

 

 

四、单组函数

 

  • 描述可在SQL 中使用的各种函数

  • 在SELECT语句中使用字符,数字,日期函数

  • 描述转换函数的使用

 

函数过程

 

 Oracle基础操作

 

 

两种SQL函数

 

Oracle基础操作

 

 

单行函数

  • 操作数据项

  • 接受参数并返回一个值

  • 对每一返回行起作用

  • 每一行返回一个结果

  • 可修改数据类型

  • 可使用嵌套

 

字符函数

 

Oracle基础操作

 

 

字符函数说明

 Oracle基础操作