目录
卸载
介绍
系统用户
sys, system (权限 sys>system>scott)
登录
使用system 用户登录
show user 查看当前登录用户
dba_users 数据字典 (desc dba_users)
表空间概述
表空间:数据库的逻辑存储空间,一个数据库包含多个表空间
永久表空间:表信息、视图、存储过程等需要永久性存储的文件
临时表空间:数据库操作中间的执行过程,执行结束释放掉
UNDO表空间:存放数据被修改之前的数据,可以进行回滚
查看用户表空间:
设置用户的默认或临时表空间
创建永久表空间
创建临时表空间
查看数据文件字典
查看表空间文件存储路径
修改表空间状态
表空间修改数据文件
删除表空间
数据类型
字符型
数值型
日期型
其他类型 大文件
管理表
创建表
添加字段
更改字段数据类型(无数据时)
删除字段
修改字段名
修改表名
删除表
在创建时复制表
在添加时复制表
约束 :定义规则和确保完整性
修改表时添加唯一约束
修改表时添加检查约束
查询
替换列的显示名称
设置数据格式
函数
数值函数
字符函数
日期函数
转换函数
decode函数(都不满足返回null)
你问我答:
首页 数据库 Oracle 归纳总结Oracle数据库使用的基本知识

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

Mar 08, 2022 pm 05:39 PM
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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热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

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
oracle打不开怎么办 oracle打不开怎么办 Apr 11, 2025 pm 10:06 PM

Oracle 打不开的解决办法包括:1. 启动数据库服务;2. 启动监听器;3. 检查端口冲突;4. 正确设置环境变量;5. 确保防火墙或防病毒软件未阻止连接;6. 检查服务器是否已关闭;7. 使用 RMAN 恢复损坏的文件;8. 检查 TNS 服务名称是否正确;9. 检查网络连接;10. 重新安装 Oracle 软件。

oracle游标关闭怎么解决 oracle游标关闭怎么解决 Apr 11, 2025 pm 10:18 PM

解决 Oracle 游标关闭问题的方法包括:使用 CLOSE 语句显式关闭游标。在 FOR UPDATE 子句中声明游标,使其在作用域结束后自动关闭。在 USING 子句中声明游标,使其在关联的 PL/SQL 变量关闭时自动关闭。使用异常处理确保在任何异常情况下关闭游标。使用连接池自动关闭游标。禁用自动提交,延迟游标关闭。

oracle怎么循环创建游标 oracle怎么循环创建游标 Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循环可动态创建游标, 步骤为:1. 定义游标类型;2. 创建循环;3. 动态创建游标;4. 执行游标;5. 关闭游标。示例:可循环创建游标,显示前 10 名员工姓名和工资。

oracle视图怎么导出 oracle视图怎么导出 Apr 12, 2025 am 06:15 AM

可以通过 EXP 实用程序导出 Oracle 视图:登录 Oracle 数据库。启动 EXP 实用程序,指定视图名称和导出目录。输入导出参数,包括目标模式、文件格式和表空间。开始导出。使用 impdp 实用程序验证导出。

oracle日志写满怎么办 oracle日志写满怎么办 Apr 12, 2025 am 06:09 AM

Oracle 日志文件写满时,可采用以下解决方案:1)清理旧日志文件;2)增加日志文件大小;3)增加日志文件组;4)设置自动日志管理;5)重新初始化数据库。在实施任何解决方案前,建议备份数据库以防数据丢失。

甲骨文在商业世界中的作用 甲骨文在商业世界中的作用 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帮助企业优化运营。

HDFS配置CentOS需要哪些步骤 HDFS配置CentOS需要哪些步骤 Apr 14, 2025 pm 06:42 PM

在CentOS系统上搭建Hadoop分布式文件系统(HDFS)需要多个步骤,本文提供一个简要的配置指南。一、前期准备安装JDK:在所有节点上安装JavaDevelopmentKit(JDK),版本需与Hadoop兼容。可从Oracle官网下载安装包。环境变量配置:编辑/etc/profile文件,设置Java和Hadoop的环境变量,使系统能够找到JDK和Hadoop的安装路径。二、安全配置:SSH免密登录生成SSH密钥:在每个节点上使用ssh-keygen命令

oracle数据库怎么停止 oracle数据库怎么停止 Apr 12, 2025 am 06:12 AM

要停止 Oracle 数据库,请执行以下步骤:1. 连接到数据库;2. 优雅关机数据库(shutdown immediate);3. 完全关机数据库(shutdown abort)。

See all articles