Oracle数据库_最值得收藏的Oracle知识点总结

什么是Oracle?

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

系统简介

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为Oracle Database 19c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

特点
1、完整的数据管理功能:

● 数据的大量性

● 数据的保存的持久性

● 数据的共享性

● 数据的可靠性

2、完备关系的产品:

● 信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

● 保证访问的准则。

● 视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化。

● 数据物理性和逻辑性独立准则。

3、分布式处理功能:

ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。

4、用ORACLE能轻松的实现数据仓库的操作。

这是一个技术发展的趋势,不在这里讨论。

优点
● 可用性强

● 可扩展性强

● 数据安全性强

● 稳定性强

Oracle数据结构

如何取得演示数据的表

select * from tab; 

或 

select table_name from user_tables; 

查看表结构

desc dept; 


表结构是由字段构成的,字段是有类型的。

表结构描述

表名称:dept

描述:部门信息表


表名称:emp

描述:员工信息表


注:DEPTNO字段是外键,DEPTNO的值来源于dept表的主键,起到了约束的作用

表名称:salgrade

描述:薪水等级信息表


如果字段类型声明为NUMBER,但是没有给定数值范围,那么字段类型的长度为38,NUMBER类型小数位数最大为7,浮点型数据类型最大声明方式为 NUMBER(38,7)字符类型最大可以声明为:VARCHAR2(4000) 字节

VARCHAR和VARCHAR2的区别?

VARCHAR2类型是Oracle特有的类型,在数据库的版本升级中,会对这个类型保持兼容。

CHAR类型和VARCHAR类型的区别?

CHAR类型和VARCHAR都表示字符串类型,但是CHAR类型是固定长度的字符串,当存储数据时,如果数据长度没有达到声明的长度,会在数据的末尾补充空格达到固定的长度,然后进行存储。VARCHAR类型是可变长度的字符串,当存储数据时,如果数据长度没有达到声明的长度,不做任何的操作,直接存储。

Oracle简单查询语句


查询一个字段

● 查询员工姓名

select ENAME from emp;

Select语句后面跟的是字段名称,select是关键字,select和字段名称之间采用空格隔开,from表示将要查询的表,它和字段之间采用空格隔开。

查询多个字段

● 查询员工的编号和姓名

select empno, ename from emp;

查询多个字段,需要放到select语句的后面,字段之间采用逗号隔开,最后一个字段和from之间不能加逗号。

查询所有字段

可以将所有字段采用逗号隔开都放到select语句后面,但这样不是很方便,所以可以采用如下方式。

select * from emp;

一般建议不使用*号,使用*号不明确,建议将相关的字段写到select语句的后面。

* 号效率相对来说低一些,后面讲?

计算员工的年薪

● 列出员工的编号,姓名和年薪(字符串相加使用 || )

select empno, ename, sal*12 from emp;

在select语句中可以使用运算符,以上存在一些问题,年薪的字段名称不太明确。

将查询出来的字段显示为中文 

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

可以采用as命名别名,as可以省略,如:

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


Oracle SQL Plus常用命令

set linesize 200
set linesize 可以设置一行的字符数,默认为80个字符。

set linesize 200,表示设置一行为200个字符。

l(List)
可以显示缓存区中的最后执行的内容。

run / r
以上三个命令功能是一致的,重新运行缓存区中的语句。

save
save可以将最后一次在缓存区中执行的语句保存到文件。


get

get可以将文件中的sql语句放到缓存区中,采用/或r或run,可以执行。

ed(edit)
ed可以采用记事本来编辑缓存区中的内容。

如何直接执行sql脚本

@c:\emp.sql;

配套视频教程,学习更佳~~~

Oracle从入门到精通教程(全套)

猜你喜欢

转载自blog.csdn.net/bjpowernode_com/article/details/115300402