Oracle基础操作

 

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

 

什么是数据库?

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

 

数据库的发展史:

 

起始于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主要文件目录介绍:

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)备份等。

 

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数据库四种方法:sql*plus工具、dos窗口sqlplus、isql、plsql

 

Cmd>regedit  进入注册表编辑器快捷命令,红框显示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语言分类

 

 

SQL语句规则

 

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

 

算数表达式:

 

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

 

例如: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;

 

 

 

 

构造命令

 

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;

显示有重复信息

 

 

 

不想要重复 用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’

 

 

 

 

比较运算符

 

 

 

 

 

使用比较运算符

 

 

 

 

 

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

 

其它的比较运算符

 

注:

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

 

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

 

 

注:

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

 

in的使用

 

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

 

in 示例:

 

 

 

LIKE使用

 

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

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

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

( _ ) 可表示一个字符

 

like 示例:

 

 

 

 

使用组合方式匹配字符

 

 

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

 

 

 

is null 使用

查询包含空值的记录

 

 

运算逻辑符

 

 

使用AND

 

AND需要条件都为TRUE

 

 

 

OR 运算符

OR需要条件之一是TRUE

 

 

 

使用not in 运算符

 

 

优先级规则

 

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

 

 

 

 

ORDER BY 子句

 

使用ORDER BY 子句将记录排序

  • ASC: 升序,缺省

  • DESC: 降序

ORDER BY 子句在SELECT语句的最后

 

降序排列:

 

 

使用列的别名排序

 

 

使用中文字符的别名排序

 

 

注:

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

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

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

 

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

 

 

 

 

四、单组函数

 

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

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

  • 描述转换函数的使用

 

函数过程

 

 

 

 

两种SQL函数

 

 

 

单行函数

  • 操作数据项

  • 接受参数并返回一个值

  • 对每一返回行起作用

  • 每一行返回一个结果

  • 可修改数据类型

  • 可使用嵌套

 

字符函数

 

 

 

字符函数说明

 

 

<span style="font-size: 18px; font-family: 宋体; backg

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐