目錄
[username/password] [@server] [as sysdba|sysper]
登入後複製
" >
[username/password] [@server] [as sysdba|sysper]
登入後複製
建立永久表空間
建立臨時表空間
查看資料檔案字典
查看表空間檔案儲存路徑
修改表格空間狀態
表空間修改資料檔
刪除表空間
資料型別
字元型
數值型
日期型
其他類型大檔案
管理表
建立表
新增欄位
更改欄位資料類型(無資料時)
刪除欄位
修改欄位名稱
修改表名
刪除表
在创建时复制表
在添加时复制表
约束 :定义规则和确保完整性
修改表时添加唯一约束
修改表时添加检查约束
查询
替换列的显示名称
设置数据格式
函数
字符函数
日期函数
转换函数
decode函数(都不满足返回null)
你问我答:
首頁 資料庫 Oracle 歸納總結Oracle資料庫所使用的基本知識

歸納總結Oracle資料庫所使用的基本知識

Mar 08, 2022 pm 05:39 PM
oracle

這篇文章為大家帶來了關於Oracle的相關知識,其中主要總結介紹了資料庫使用的相關問題,包括了安裝、卸載、表空間、資料類型等方面,希望對大家有幫助。

歸納總結Oracle資料庫所使用的基本知識

推薦教學:《Oracle教學

##解除安裝

執行deinstall. xml 檔案進行自動卸載操作,執行過程中輸入回車或yes,不能刪除的目錄在卸載執行完成後手動刪除。


歸納總結Oracle資料庫所使用的基本知識

介紹

系統使用者
sys, system (權限sys>system>scott)

# sys 要擁有系統管理員權限

system 可以直接登入
sysman 用來操作企業管理器,管理員等級
scott Oracle 創辦人名字,預設密碼是tiger

登入

使用system 使用者登入
[username/password] [@server] [as sysdba|sysper]
登入後複製

歸納總結Oracle資料庫所使用的基本知識
#注意: 如果登入本機資料庫就不用@server 了

show user 查看目前登入使用者
dba_users 資料字典(desc dba_users)
表空間概述

表空間:資料庫的邏輯儲存空間,一個資料庫包含多個表空間
  • 永久表空間:表格資訊、檢視、預存程序等需要永久儲存的檔案
  • 暫存表空間:資料庫操作中間的執行過程,執行結束釋放掉
  • UNDO表空間:存放資料被修改之前的數據,可以進行回滾
查看使用者表空間:
管理員資料字典:dba_tablespaces、dba_users

一般使用者資料字典:user_tablespaces、user_users

歸納總結Oracle資料庫所使用的基本知識##設定使用者的預設或暫存表空間

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';
登入後複製

歸納總結Oracle資料庫所使用的基本知識

修改表格空間狀態

設定線上或離線狀態: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 字串

管理表

建立表

歸納總結Oracle資料庫所使用的基本知識

新增欄位

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值,如用户名、密码等(设置非空约束之前表中不能有空数据)
主键约束:唯一标识,不能为空,加快查询速度,自动创建索引。一张表只能设计一个,可以由多个字段构成(联合或复合主键)。
歸納總結Oracle資料庫所使用的基本知識
歸納總結Oracle資料庫所使用的基本知識
歸納總結Oracle資料庫所使用的基本知識
歸納總結Oracle資料庫所使用的基本知識
启用|禁用当前约束

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));
登入後複製

歸納總結Oracle資料庫所使用的基本知識

CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]
登入後複製

歸納總結Oracle資料庫所使用的基本知識
修改表时添加外键约束

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

唯一约束:字段值不能重复
唯一约束和主键约束的区别
主键必须是非空,唯一约束允许有一个空值。主键在每张表中只能有一个,唯一约束在每张表中可以有多个。
歸納總結Oracle資料庫所使用的基本知識歸納總結Oracle資料庫所使用的基本知識

修改表时添加唯一约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_name);
登入後複製

检查约束:使表当中的值具有实际意义。
歸納總結Oracle資料庫所使用的基本知識
歸納總結Oracle資料庫所使用的基本知識

修改表时添加检查约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK(column_name > 0);
登入後複製

查询

替换列的显示名称

歸納總結Oracle資料庫所使用的基本知識

设置数据格式

更改字符长度(字符类型)
歸納總結Oracle資料庫所使用的基本知識
== 数值类型格式(“9”代表一个数字)==

歸納總結Oracle資料庫所使用的基本知識
歸納總結Oracle資料庫所使用的基本知識
歸納總結Oracle資料庫所使用的基本知識
== 清除设置的格式==

COLUMN column_name CLEAR;
登入後複製

函数

函数的作用

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

函数的分类歸納總結Oracle資料庫所使用的基本知識数值函数

四舍五入: ROUND(n,[,m]) ; 省略m : m = 0 取整; m>0 : 保留小数点后m位;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
获取字符串长度: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
歸納總結Oracle資料庫所使用的基本知識
ADD_MONTHS(date,i)
NEXT_DAY(date,char)
LAST_DAY(date)
MONTHS_BETWEEN(date1.date2) 两个日期之间间隔的月份,计算间隔多少天直接日期相减
EXTRACT(date FROM datetime)
歸納總結Oracle資料庫所使用的基本知識
歸納總結Oracle資料庫所使用的基本知識

转换函数

日期>>字符:TO_CHAR(date[,format[,params]]) date:将要转换的日期 ; format:转换的格式; params: 日期的语言,通常不写;
歸納總結Oracle資料庫所使用的基本知識
字符>>日期:TO_DATE(date[,format[,params]]) --------只能输出默认日期格式
数字>>字符:TO_CHAR(number[,format])
9: 显示数字并忽略前面的0
0:显示数字,位数不足,用0补齐
. 或D 显示小数点
, 或G 显示千位符
$:美元符号
S:加正负号(前后都可以)
歸納總結Oracle資料庫所使用的基本知識
字符>>数字:TO_NUMBER(char[,format])
歸納總結Oracle資料庫所使用的基本知識

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

decode(column_name, value1,result1,... , defaultValue)
登入後複製

歸納總結Oracle資料庫所使用的基本知識

你问我答:

联合索引比单索引的效率高么?
如果联合索引中的多个字段都在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

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

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:12 AM

要停止 Oracle 數據庫,請執行以下步驟:1. 連接到數據庫;2. 優雅關機數據庫(shutdown immediate);3. 完全關機數據庫(shutdown abort)。

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動態sql怎麼創建 oracle動態sql怎麼創建 Apr 12, 2025 am 06:06 AM

可以通過使用 Oracle 的動態 SQL 來根據運行時輸入創建和執行 SQL 語句。步驟包括:準備一個空字符串變量來存儲動態生成的 SQL 語句。使用 EXECUTE IMMEDIATE 或 PREPARE 語句編譯和執行動態 SQL 語句。使用 bind 變量傳遞用戶輸入或其他動態值給動態 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 執行動態 SQL 語句。

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幫助企業優化運營。

See all articles