搜索
首页数据库Oracle归纳总结Oracle数据库使用的基本知识

本篇文章给大家带来了关于Oracle的相关知识,其中主要总结介绍了数据库使用的相关问题,包括了安装、卸载、表空间、数据类型等方面,希望对大家有帮助。

归纳总结Oracle数据库使用的基本知识

推荐教程:《Oracle教程

卸载

执行deinstall.xml 文件进行自动卸载操作,执行过程中输入回车或者yes,不能删除的目录在卸载执行完成后手动删除。
在这里插入图片描述

介绍

系统用户

sys, system (权限 sys>system>scott)

sys 要拥有系统管理员权限
system 可以直接登录
sysman 用来操作企业管理器,管理员级别
scott Oracle 创始人名字,默认密码是tiger

登录

使用system 用户登录
[username/password] [@server] [as sysdba|sysper]

在这里插入图片描述
注意: 如果登录本地数据库就不用 @server 了

show user 查看当前登录用户
dba_users 数据字典 (desc dba_users)

表空间概述

表空间:数据库的逻辑存储空间,一个数据库包含多个表空间
  • 永久表空间:表信息、视图、存储过程等需要永久性存储的文件
  • 临时表空间:数据库操作中间的执行过程,执行结束释放掉
  • UNDO表空间:存放数据被修改之前的数据,可以进行回滚
查看用户表空间:

管理员数据字典:dba_tablespaces、dba_users
普通用户数据字典:user_tablespaces、user_users
######

设置用户的默认或临时表空间
ALTER USER username DEFAULT|TEMPOPRRY TABLESPACE tablespace_name
创建永久表空间
CREATE  TABLESPACE tablespace_name DATAFILE 'XX.dbf'  SIZE 10m
创建临时表空间
CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE 'XX.dbf'  SIZE 10m
查看数据文件字典
desc dba_data_files
查看表空间文件存储路径
select file_name from dba_data_files where tablespace_name = 'tablespace_name';

在这里插入图片描述

修改表空间状态

设置联机或脱机状态:ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
设置只读或可读写状态:ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;

表空间修改数据文件

增加数据文件:ALTER TABLESPACE tablespace_nama ADD DATAFILE 'xx.dbf' SIZE xx;
删除数据文件:ALTER TABLESPACE tablespace_nama DROP DATAFILE 'xx.dbf'; (不能删除第一个数据文件,除非把表空间删掉)

删除表空间

DROP  TABLESPACE tablespace_name [INCLUDING CONTENTS]

数据类型

字符型

CHAR(n): MAX-2000
NCHAR(n): MAX-1000, unicode格式,存储汉字比较多
VARCHAR2(n): MAX-4000
NVARCHAR2(n): MAX-2000, unicode格式

数值型

NUMBER(p,s) : p-有效数字位数,s-保留小数位数
FLOAT(n) : 二进制数据 1~126位 (*0.30103 得到10进制数据)

日期型

DATE: 精确到秒
TIMESTAMP: 精确到毫秒

其他类型 大文件

BLOB: 4G 二进制
CLOB: 4G 字符串

管理表

创建表

在这里插入图片描述

添加字段

ALTER TABLE table_name add  column_name data_type;
更改字段数据类型(无数据时)
ALTER TABLE table_name MODIFY column_name data_type;

删除字段

ALTER TABLE table_name DROP COLUMN column_name;

修改字段名

ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;

修改表名

RENAME table_name TO new_table_name;

删除表

比delete速度快,删除全部数据,不删除表结构。

TRUNCATE TABLE table_name;

删除表结构

DROP TABLE table_name;

在创建时复制表

CREATE TABLE new_table AS SELECT column1,...|* FROM old_table;

在添加时复制表

INSERT INTO new_table [(column1,...)] SELECT column1,...|* FROM old_table;

约束 :定义规则和确保完整性

非空约束:数据不能是NULL值,如用户名、密码等(设置非空约束之前表中不能有空数据)
主键约束:唯一标识,不能为空,加快查询速度,自动创建索引。一张表只能设计一个,可以由多个字段构成(联合或复合主键)。
联合主键
添加主键约束
在这里插入图片描述
在这里插入图片描述
启用|禁用当前约束

DISABLE | ENABLE CONSTARINT constraint_name;

删除当前约束

ALTER TABLE table_name DROP CONSTRAINT constraint_name;
DROP PRIMARY KEY [CASCADE] ;     [CASCADE] :外键约束关系

外键约束:主表的字段必须是主键,主从表中响应的字段是同一个数据类型,从表外键字段值必须来自主表中相应字段值,或者为null值。

创建表时添加外键约束

CREATE TABLE table2 (column_name datatype REFERENCES table1(column_name));

在这里插入图片描述

CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]

在这里插入图片描述
修改表时添加外键约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCSDE] ;  
[ON DELETE CASCSDE]:级联删除

唯一约束:字段值不能重复
唯一约束和主键约束的区别
主键必须是非空,唯一约束允许有一个空值。主键在每张表中只能有一个,唯一约束在每张表中可以有多个。
在这里插入图片描述在这里插入图片描述

修改表时添加唯一约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_name);

检查约束:使表当中的值具有实际意义。
在这里插入图片描述
在这里插入图片描述

修改表时添加检查约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK(column_name > 0);

查询

替换列的显示名称

在这里插入图片描述

设置数据格式

更改字符长度(字符类型)
在这里插入图片描述
== 数值类型格式(“9”代表一个数字)==

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
== 清除设置的格式==

COLUMN column_name CLEAR;

函数

函数的作用

  • 方便数据统计
  • 处理查询结果

函数的分类

数值函数

四舍五入: ROUND(n,[,m]) ; 省略m : m = 0 取整; m>0 : 保留小数点后m位;m<0 : 对小数点前m位四舍五入;
取整函数:CEIL(n) - 整数最大值
FLOOR(n) - 整数最小值
常用计算:ABS(n) - 绝对值
MOD(m,n) 取余数 m/n ,m和n有一个值为null,结果返回NULL
POWER(m,n) 返回m的n次幂,m和n有一个值为null,结果返回NULL
SORT(n) 平方根
三角函数:…

字符函数

大小写转换:UPPER(char)
LOWER(char)
INITCAP(char) : 首字母大写
获取子字符串:n可以省略,截取到最后;m < 0 从尾部开始;在这里插入图片描述
获取字符串长度:LENGTH(char)
字符串连接:CONCAT(char1,char2) 与 || 操作符作用一样
去除字串:TRIM(c2 FROM c1) 从c1当中去除c2字符串
LTRIM(c1 [, c2]) 从头部开始去除一个c2 ,c2 为空去除左边空格
LTRIM(c1 [, c2]) 从尾部开始去除一个c2,c2 为空去除右边空格
TRIM(c1) 去除空格
替换函数:REPLACE(char,s_string [,r_string]) r_string为空默认替换为空串

日期函数

系统时间: SYDATE 默认格式 DD-MON-YY
在这里插入图片描述
ADD_MONTHS(date,i)
NEXT_DAY(date,char)
LAST_DAY(date)
MONTHS_BETWEEN(date1.date2) 两个日期之间间隔的月份,计算间隔多少天直接日期相减
EXTRACT(date FROM datetime)
在这里插入图片描述
在这里插入图片描述

转换函数

日期>>字符:TO_CHAR(date[,format[,params]]) date:将要转换的日期 ; format:转换的格式; params: 日期的语言,通常不写;
在这里插入图片描述
字符>>日期:TO_DATE(date[,format[,params]]) --------只能输出默认日期格式
数字>>字符:TO_CHAR(number[,format])
9: 显示数字并忽略前面的0
0:显示数字,位数不足,用0补齐
. 或D 显示小数点
, 或G 显示千位符
$:美元符号
S:加正负号(前后都可以)
在这里插入图片描述
字符>>数字:TO_NUMBER(char[,format])
在这里插入图片描述

decode函数(都不满足返回null)

decode(column_name, value1,result1,... , defaultValue)

在这里插入图片描述

你问我答:

联合索引比单索引的效率高么?
如果联合索引中的多个字段都在where谓词中出现了,则联合索引效率比单列索引高。因为通过多个条件可以从索引中过滤得到更少的记录条数,也就减少了需要回表扫描的次数,甚至可以直接在联合索引中得到所查的所有结果,则不再需要回表。
但是由于多列的联合索引肯定要比单列索引大,也就是说同样的索引需要存储的物理块要多于单列索引,所以,如果查询中只出现了联合索引中的某一列,则其效率不如单列索引。
前导列的作用?
前导列的概念是这样的,如果建立了f1,f2上的联合索引,则在查询时必须要用到f1,也就是所谓的前导列,该索引才会有效,因为索引是按照前导列排序的,如果where条件谓词中没有前导列,则需要执行索引扫描才能得到想要的结果,这种情况下其效率往往较差。
如果不需要前导列的话,reverse 这个反转又起到什么作用呢?
鉴于前面描述的前导列的概念,我们考虑如下表存储table(f1,f2);
aa 1
ab 2
ac 3
ad 4
ae 5
如果我们对表table建立f1上的普通索引,由于按照f1进行排序,所以针对where f1=ad则需要遍历所有的a开始的索引,而如果对f1建立reverse索引,则由于da只有一个,则可以更快的得到需要的结果。

推荐教程:《Oracle视频教程

以上是归纳总结Oracle数据库使用的基本知识的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除
甲骨文在商业世界中的作用甲骨文在商业世界中的作用Apr 23, 2025 am 12:01 AM

Oracle不仅是数据库公司,还是云计算和ERP系统的领导者。1.Oracle提供从数据库到云服务和ERP系统的全面解决方案。2.OracleCloud挑战AWS和Azure,提供IaaS、PaaS和SaaS服务。3.Oracle的ERP系统如E-BusinessSuite和FusionApplications帮助企业优化运营。

Oracle Software正在行动:现实世界中的示例Oracle Software正在行动:现实世界中的示例Apr 22, 2025 am 12:12 AM

Oracle软件在现实世界中的应用包括电商平台和制造业。1)在电商平台,OracleDatabase用于存储和查询用户信息。2)在制造业,OracleE-BusinessSuite用于优化库存和生产计划。

Oracle软件:应用程序和行业Oracle软件:应用程序和行业Apr 21, 2025 am 12:01 AM

Oracle软件在多领域大放异彩的原因是其强大的应用性和定制化解决方案。1)Oracle提供从数据库管理到ERP、CRM、SCM的全面解决方案,2)其解决方案可根据金融、医疗、制造等行业特性进行定制,3)成功案例包括花旗银行、梅奥诊所和丰田汽车,4)优势在于全面性、定制化和可扩展性,但挑战包括复杂性、成本和集成问题。

在MySQL和Oracle之间进行选择:决策指南在MySQL和Oracle之间进行选择:决策指南Apr 20, 2025 am 12:02 AM

选择MySQL还是Oracle取决于项目需求:1.MySQL适合中小型应用和互联网项目,因其开源、免费和易用性;2.Oracle适用于大型企业核心业务系统,因其强大、稳定和高级功能,但成本较高。

甲骨文的产品:深度潜水甲骨文的产品:深度潜水Apr 19, 2025 am 12:14 AM

Oracle的产品生态包括数据库、中间件和云服务。1.OracleDatabase是其核心产品,支持高效的数据存储和管理。2.中间件如OracleWebLogicServer连接不同系统。3.OracleCloud提供全套云计算解决方案。

MySQL和Oracle:功能和功能的关键差异MySQL和Oracle:功能和功能的关键差异Apr 18, 2025 am 12:15 AM

MySQL和Oracle在性能、扩展性和安全性方面各有优势。1)性能:MySQL适合读操作和高并发,Oracle擅长复杂查询和大数据处理。2)扩展性:MySQL通过主从复制和分片扩展,Oracle使用RAC提供高可用性和负载均衡。3)安全性:MySQL提供细粒度权限控制,Oracle则有更全面的安全功能和自动化工具。

甲骨文:数据库管理甲骨文:数据库管理Apr 17, 2025 am 12:14 AM

Oracle被称为数据库管理的“Powerhouse”是因为其高性能、可靠性和安全性。1.Oracle是一个关系数据库管理系统,支持多种操作系统。2.它提供强大的数据管理平台,具有可扩展性、安全性和高可用性。3.Oracle的工作原理包括数据存储、查询处理和事务管理,支持性能优化技术如索引、分区和缓存。4.使用示例包括创建表、插入数据和编写存储过程。5.性能优化策略包括索引优化、分区表、缓存管理和查询优化。

Oracle提供什么?产品和服务解释Oracle提供什么?产品和服务解释Apr 16, 2025 am 12:03 AM

OracleOfferSacomprehensUIteOfproductSandServicesservicesCludingDatabasemangemention,CloudComputing,Enterprisesoftware,AndhardWaresolutions.1)oracledatabaseuppasesuppassuppassuppersupportsvariousdatamodelswithefffiteFticsFeatures.2)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版