[username/password] [@server] [as sysdba|sysper]
歸納總結Oracle資料庫所使用的基本知識
這篇文章為大家帶來了關於Oracle的相關知識,其中主要總結介紹了資料庫使用的相關問題,包括了安裝、卸載、表空間、資料類型等方面,希望對大家有幫助。
推薦教學:《Oracle教學》
##解除安裝
執行deinstall. xml 檔案進行自動卸載操作,執行過程中輸入回車或yes,不能刪除的目錄在卸載執行完成後手動刪除。系統使用者
sys, system (權限sys>system>scott)# sys 要擁有系統管理員權限 system 可以直接登入
sysman 用來操作企業管理器,管理員等級
scott Oracle 創辦人名字,預設密碼是tiger
登入
使用system 使用者登入[username/password] [@server] [as sysdba|sysper]
登入後複製
[username/password] [@server] [as sysdba|sysper]
#注意: 如果登入本機資料庫就不用@server 了
- 永久表空間:表格資訊、檢視、預存程序等需要永久儲存的檔案
- 暫存表空間:資料庫操作中間的執行過程,執行結束釋放掉
- UNDO表空間:存放資料被修改之前的數據,可以進行回滾
一般使用者資料字典: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;
函数
函数的作用
- 方便数据统计
- 处理查询结果
函数的分类歸納總結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
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

Oracle 打不開的解決辦法包括:1. 啟動數據庫服務;2. 啟動監聽器;3. 檢查端口衝突;4. 正確設置環境變量;5. 確保防火牆或防病毒軟件未阻止連接;6. 檢查服務器是否已關閉;7. 使用 RMAN 恢復損壞的文件;8. 檢查 TNS 服務名稱是否正確;9. 檢查網絡連接;10. 重新安裝 Oracle 軟件。

解決 Oracle 游標關閉問題的方法包括:使用 CLOSE 語句顯式關閉游標。在 FOR UPDATE 子句中聲明游標,使其在作用域結束後自動關閉。在 USING 子句中聲明游標,使其在關聯的 PL/SQL 變量關閉時自動關閉。使用異常處理確保在任何異常情況下關閉游標。使用連接池自動關閉游標。禁用自動提交,延遲游標關閉。

Oracle 中,FOR LOOP 循環可動態創建游標, 步驟為:1. 定義游標類型;2. 創建循環;3. 動態創建游標;4. 執行游標;5. 關閉游標。示例:可循環創建游標,顯示前 10 名員工姓名和工資。

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

在CentOS系統上搭建Hadoop分佈式文件系統(HDFS)需要多個步驟,本文提供一個簡要的配置指南。一、前期準備安裝JDK:在所有節點上安裝JavaDevelopmentKit(JDK),版本需與Hadoop兼容。可從Oracle官網下載安裝包。環境變量配置:編輯/etc/profile文件,設置Java和Hadoop的環境變量,使系統能夠找到JDK和Hadoop的安裝路徑。二、安全配置:SSH免密登錄生成SSH密鑰:在每個節點上使用ssh-keygen命令

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

Oracle 日誌文件寫滿時,可採用以下解決方案:1)清理舊日誌文件;2)增加日誌文件大小;3)增加日誌文件組;4)設置自動日誌管理;5)重新初始化數據庫。在實施任何解決方案前,建議備份數據庫以防數據丟失。

Oracle不僅是數據庫公司,還是雲計算和ERP系統的領導者。 1.Oracle提供從數據庫到雲服務和ERP系統的全面解決方案。 2.OracleCloud挑戰AWS和Azure,提供IaaS、PaaS和SaaS服務。 3.Oracle的ERP系統如E-BusinessSuite和FusionApplications幫助企業優化運營。
