詳解Oracle存儲(chǔ)結(jié)構(gòu)掌握基本操作管理

2018.10.14那天我寫了Oracle12C 的安裝并初步了解了一下Oracle體系結(jié)構(gòu)中數(shù)據(jù)庫(kù)和實(shí)例。從中我們知道:

數(shù)據(jù)庫(kù)是磁盤上數(shù)據(jù)的集合,位于收集和維護(hù)相關(guān)信息的數(shù)據(jù)庫(kù)服務(wù)器上的一個(gè)或多個(gè)文件中。數(shù)據(jù)庫(kù)由各種物理和邏輯結(jié)構(gòu)組成,而表則是數(shù)據(jù)庫(kù)中最重要的邏輯結(jié)構(gòu)。表由包含數(shù)據(jù)的相關(guān)行和列組成。

創(chuàng)新互聯(lián)建站是專業(yè)的南縣網(wǎng)站建設(shè)公司,南縣接單;提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行南縣網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

  • 組成數(shù)據(jù)庫(kù)的文件主要分為兩類:數(shù)據(jù)庫(kù)文件和非數(shù)據(jù)庫(kù)文件。兩者之間的區(qū)別在于存儲(chǔ)何種數(shù)據(jù)。數(shù)據(jù)庫(kù)文件包含數(shù)據(jù)和元數(shù)據(jù),非數(shù)據(jù)庫(kù)文件則包含初始參數(shù)和日志記錄信息等。數(shù)據(jù)庫(kù)文件對(duì)于每時(shí)每刻正在進(jìn)行的數(shù)據(jù)庫(kù)操作來說至關(guān)重要。
  • 典型的企業(yè)服務(wù)器的主要組成部分是一個(gè)或多個(gè)CPU(有多個(gè)核)、磁盤空間和內(nèi)存。Oracle數(shù)據(jù)庫(kù)存儲(chǔ)在服務(wù)器的磁盤上,而Oracle實(shí)例則存在于服務(wù)器的內(nèi)存中。Oracle實(shí)例由一個(gè)大型內(nèi)存塊和大量后臺(tái)進(jìn)程組成;該內(nèi)存塊分配在系統(tǒng)全局區(qū)域中,后臺(tái)進(jìn)程在SGA和磁盤上的數(shù)據(jù)庫(kù)文件之間交互。
  • 在OracleRAC中,多個(gè)實(shí)例將使用同一個(gè)數(shù)據(jù)庫(kù)。雖然共享數(shù)據(jù)庫(kù)的實(shí)例可能在同一服務(wù)器上,但最可能的是這些實(shí)例位于不同服務(wù)器上,這些服務(wù)器通過高速互連進(jìn)行連接,并且訪問駐留在專門的,支持RAID磁盤子系統(tǒng)上的數(shù)據(jù)庫(kù)。Oracle Exadata數(shù)據(jù)庫(kù)一體機(jī)是一個(gè)將數(shù)據(jù)庫(kù)服務(wù)器、I/O服務(wù)器和磁盤存儲(chǔ)組合到一個(gè)或多個(gè)機(jī)柜,并針對(duì)RAC環(huán)境優(yōu)化的示例(包括以每接口40Gbps的速度連接所有這些設(shè)備的雙InfiniBand接口)。
本篇開頭我將Oracle體系結(jié)構(gòu)中的存儲(chǔ)結(jié)構(gòu)先進(jìn)行一個(gè)歸納:
  • Oracle的存儲(chǔ)結(jié)構(gòu)從兩方面看:
    1.Oracle邏輯存儲(chǔ)結(jié)構(gòu)(表空間、塊、盤區(qū)、段);
    2.Oracle物理存儲(chǔ)結(jié)構(gòu)(數(shù)據(jù)文件、重做日志文件、控制文件、歸檔的日志文件、初始化參數(shù)文件、警報(bào)和跟蹤日志文件、備份文件、Oracle管理文件、密碼文件);
  • 在邏輯存儲(chǔ)結(jié)構(gòu)下Oracle的邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu):表、約束、索引、視圖、用戶和模式、配置文件、序列、同義詞、PL/SQL、外部文件訪問、數(shù)據(jù)庫(kù)鏈接和遠(yuǎn)程數(shù)據(jù)庫(kù);
  • 另外Oracle 12C與之前版本最大的亮點(diǎn)是;支持?jǐn)?shù)據(jù)庫(kù)熱插拔,可以和其他類型的數(shù)據(jù)庫(kù)對(duì)接
通過結(jié)構(gòu)圖就能一目了然:
  • Oracle邏輯存儲(chǔ)結(jié)構(gòu)圖:
    詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理

  • Oracle邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu)圖:
    詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
  • Oracle物理存儲(chǔ)結(jié)構(gòu)圖:
    詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
    詳解Oracle邏輯存儲(chǔ)結(jié)構(gòu):

    Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件被分組到一個(gè)或多個(gè)表空間中。在每個(gè)表空間中,邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu)(如表和索引)都是片段,被進(jìn)一步細(xì)分為“盤區(qū)”(extent)和“塊”(block)。這種存儲(chǔ)的邏輯細(xì)分允許Oracle更有效的控制磁盤空間的利用率。

    1. 表空間:
      Oracle表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成,一個(gè)數(shù)據(jù)文件是且只能是一個(gè)表空間的一部分。對(duì)于Oracle12c的安裝,最少會(huì)創(chuàng)建兩個(gè)表空間:SYSTEM表空間和SYSAUX表空間。Oracle12c的默認(rèn)安裝創(chuàng)建6個(gè)表空間;
    2. 段:
      數(shù)據(jù)庫(kù)中的下一個(gè)邏輯分組級(jí)別是段。段是一組盤區(qū),這組盤區(qū)組成了被Oracle視為一個(gè)單位的數(shù)據(jù)庫(kù)對(duì)象,如表或索引。因此,段一般是數(shù)據(jù)庫(kù)終端用戶要處理的最小存儲(chǔ)單位。Oracle數(shù)據(jù)庫(kù)中可看到4種類型的段:數(shù)據(jù)段(非分區(qū)表和分區(qū)表的每個(gè)分區(qū))、索引段、臨時(shí)段和回滾段。
    3. 盤區(qū):
      它由一個(gè)或多個(gè)數(shù)據(jù)庫(kù)塊組成。當(dāng)擴(kuò)大數(shù)據(jù)庫(kù)對(duì)象時(shí),為該對(duì)象添加的空間將分配為一個(gè)盤區(qū)。
    4. 塊:
      數(shù)據(jù)庫(kù)塊是Oracle數(shù)據(jù)庫(kù)最小的存儲(chǔ)單位。塊的大小是數(shù)據(jù)庫(kù)內(nèi)給定表空間中特定數(shù)量的存儲(chǔ)字節(jié)。默認(rèn)塊大小是8KB;

Oracle邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu)組成:

Oracle邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu)內(nèi)容非常繁雜,這里先簡(jiǎn)單概括一下都有哪些內(nèi)容組成:
1.表:是Oracle數(shù)據(jù)庫(kù)中的基本存儲(chǔ)單位,如果沒有表,數(shù)據(jù)庫(kù)對(duì)于企業(yè)來說就沒有任何價(jià)值;
包括: 關(guān)系表、臨時(shí)表、索引組織表、對(duì)象表、外部表、群集表、散列群集、排序的散列群集、分區(qū)表、分區(qū)索引;
2.約束:Oracle約束是一條或多條規(guī)則,它在表的一列或多列上定義,用于幫助實(shí)施業(yè)務(wù)規(guī)則;
包括:空值約束、唯一列值、主鍵值、引用完整性值、復(fù)合內(nèi)聯(lián)完整性、基于觸發(fā)器的完整性;
3.索引:當(dāng)檢索表少量的行時(shí),使用Oracle索引能更快訪問表中的這些行;
包括:唯一索引、非唯一索引、反向鍵索引、基于函數(shù)的索引、位圖索引;
4.視圖:視圖允許用戶查看單獨(dú)表或多個(gè)連接表中數(shù)據(jù)的自定義表示。視圖也稱為“存儲(chǔ)查詢”,用戶無法看到視圖底層隱藏的查詢細(xì)節(jié);
包括:普通視圖、物化視圖、對(duì)象視圖;
5.用戶和模式:有權(quán)訪問數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)賬戶稱為“用戶”。用戶可存在與數(shù)據(jù)庫(kù)中,而不擁有任何對(duì)象。如果用戶在數(shù)據(jù)庫(kù)中創(chuàng)建并擁有對(duì)象,這些對(duì)象就是與數(shù)據(jù)庫(kù)用戶同名的模式(schema)的一部分。模式可擁有數(shù)據(jù)庫(kù)中任何類型的對(duì)象:表、索引、序列和視圖等。模式擁有者或者DBA可授權(quán)其他數(shù)據(jù)庫(kù)用戶訪問這些對(duì)象。用戶總是擁有完整的權(quán)限,而且可以控制用戶模式中的對(duì)象;
6.配置文件:數(shù)據(jù)庫(kù)資源不是無限的,因此DBA必須為所有數(shù)據(jù)庫(kù)用戶管理和分配資源。數(shù)據(jù)庫(kù)資源的一些示例是CPU時(shí)間、并發(fā)會(huì)話、邏輯讀和連接時(shí)間。
數(shù)據(jù)庫(kù)配置文件是可以賦給用戶的限定資源的命令集。安裝Oracle后,DEFAULT配置文件已經(jīng)存在,并且系統(tǒng)將其賦給任何還沒有顯式分配配置文件的用戶。DBA可添加新的配置文件或改變DEFAULT配置文件,從而符合企業(yè)的需求。DEFAULT配置文件的初始值允許無限使用所有的數(shù)據(jù)庫(kù)資源。
7.序列:Oracle序列用于分配有序數(shù),并且保證其唯一性。
8.同義詞:Oracle同義詞(synonym)只是數(shù)據(jù)庫(kù)對(duì)象的別名,用于簡(jiǎn)化對(duì)數(shù)據(jù)庫(kù)對(duì)象的引用,并且隱藏?cái)?shù)據(jù)庫(kù)對(duì)象源的細(xì)節(jié)。同義詞可以賦給表、視圖、物化視圖、序列、過程、函數(shù)和程序包。與視圖類似,除了數(shù)據(jù)字典中的定義外,同義詞不會(huì)再數(shù)據(jù)中分配任何空間。
同義詞可以是公有或者私有。私有同義詞在用戶模式下定義,并且只有該用戶可用。公有同義詞通常由DBA創(chuàng)建,并且所有的數(shù)據(jù)庫(kù)用戶都可以自動(dòng)使用。
9.PL/SQL:PL/SQL Developer是一個(gè)集成開發(fā)環(huán)境,專門開發(fā)面向Oracle數(shù)據(jù)庫(kù)的應(yīng)用。PL/SQL也是一種程序語(yǔ)言,叫做過程化SQL語(yǔ)言(Procedural Language/SQL)。PL/SQL是Oracle數(shù)據(jù)庫(kù)對(duì)SQL語(yǔ)句的擴(kuò)展。在普通SQL語(yǔ)句的使用上增加了編程語(yǔ)言的特點(diǎn),所以PL/SQL把數(shù)據(jù)操作和查詢語(yǔ)句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環(huán)等操作實(shí)現(xiàn)復(fù)雜的功能或者計(jì)算。PL/SQL 只有 Oracle 數(shù)據(jù)庫(kù)有。

Oracle物理存儲(chǔ)結(jié)構(gòu):

物理存儲(chǔ)構(gòu)的組成及其功能:
數(shù)據(jù)文件(.dbf):用于存儲(chǔ)數(shù)據(jù)庫(kù)中的所有數(shù)據(jù),包含系統(tǒng)數(shù)據(jù)、數(shù)據(jù)字典數(shù)據(jù)、臨時(shí)數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)等
控制文件(.ctl):用于記錄和描述數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)信息
重做日志文件(.log):用于記錄外部程序(用戶)對(duì)數(shù)據(jù)庫(kù)的修改操作
初始化參數(shù)文件:用于設(shè)置數(shù)據(jù)庫(kù)啟動(dòng)時(shí)的參數(shù)初始值
跟蹤文件:用戶記錄用戶進(jìn)程、數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程的運(yùn)行情況
歸檔文件:用于保存已經(jīng)寫滿的重做日志文件
口令文件:用于保存具有SYSDBA,SYSOPER權(quán)限的用戶名和SYS用戶口令。
數(shù)據(jù)文件及其管理:
在安裝Oracle數(shù)據(jù)庫(kù)時(shí)系統(tǒng)會(huì)自動(dòng)為數(shù)據(jù)庫(kù)創(chuàng)建幾個(gè)數(shù)據(jù)文件,用戶對(duì)數(shù)據(jù)庫(kù)的操作本質(zhì)是對(duì)數(shù)據(jù)文件的操作。一個(gè)表空間可以對(duì)應(yīng)多個(gè)數(shù)據(jù)文件,一個(gè)數(shù)據(jù)文件只能從屬于一個(gè)表空間。在邏輯上,數(shù)據(jù)對(duì)象都存放在表空間中,實(shí)質(zhì)上是存放在空間對(duì)應(yīng)的數(shù)據(jù)文件中。

Oracle基本操作管理:

1.數(shù)據(jù)庫(kù)開啟、關(guān)閉

* 進(jìn)入數(shù)據(jù)庫(kù):
* su - oracle
* sqlplus / as sysdba                    #以最高管理員sysdba登錄
* SQL> help index                       #查看命令列表
* SQL> show user                      #查看當(dāng)前用戶

詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理

* 開啟、關(guān)閉數(shù)據(jù)庫(kù)
* SQL>startup                                #開啟:實(shí)例--數(shù)據(jù)庫(kù)裝載--數(shù)據(jù)庫(kù)打開
* SQL>shutdown immediate        #關(guān)閉:數(shù)據(jù)庫(kù)關(guān)閉--卸載數(shù)據(jù)庫(kù)--實(shí)例

詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理

* 啟用、關(guān)閉監(jiān)聽(作用:客戶端訪問oracle數(shù)據(jù)庫(kù)實(shí)例,安裝好數(shù)據(jù)庫(kù)如果重啟主機(jī),則需要開啟監(jiān)聽服務(wù),客戶端才可以登錄oracle數(shù)據(jù)庫(kù)實(shí)例)
* lnsrctl start
* lnsrctl stop

詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
2.創(chuàng)建數(shù)據(jù)庫(kù):

* dbca   (在桌面界面執(zhí)行)
#創(chuàng)建數(shù)據(jù)庫(kù)(如果不彈窗口執(zhí)行: export DISPLAY=:0.0)
* 執(zhí)行成功會(huì)跳出創(chuàng)建數(shù)據(jù)庫(kù)頁(yè)面,按以下步驟操作:

詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
詳解Oracle存儲(chǔ)結(jié)構(gòu) 掌握基本操作管理
3.表空間操作:

創(chuàng)建表空間:

create tablespace school //創(chuàng)建表空間school
2 datafile '/oracle/app/oracle/oradata/school01.dbf' //指定表空間文件存放位置
3 size 10m autoextend on; //指定大小,空間可以擴(kuò)容

調(diào)整表空間大小:

調(diào)整大?。?SQL> alter database datafile
2 '/oracle/app/oracle/oradata/school01.dbf'
3 resize 80m;
數(shù)據(jù)庫(kù)已更改。
添加文件:
SQL> alter tablespace school
2 add datafile
3 '/oracle/app/oracle/oradata/school02.dbf'
4 size 20m autoextend on;
表空間已更改。

表空間權(quán)限:

SQL> alter tablespace school read only; //修改為只讀權(quán)限
表空間已更改。
SQL> alter tablespace school read write; //權(quán)限修改為讀寫(默認(rèn))
表空間已更改。

刪除表空間:

SQL> drop tablespace school including contents;
表空間已刪除。

4.插拔數(shù)據(jù)庫(kù)(CDB與PDB轉(zhuǎn)換):

SQL> show con_name //查看當(dāng)前所在的容器
SQL> show pdbs; //查詢數(shù)據(jù)庫(kù)的所有容器

將當(dāng)前數(shù)據(jù)庫(kù)CDB轉(zhuǎn)換為PDB:

CDB:默認(rèn)的數(shù)據(jù)庫(kù)
PDB:容器型數(shù)據(jù)庫(kù)
SQL> alter pluggable database orclpdb open; //修改可插拔庫(kù)orclpdb打開狀態(tài)
插接式數(shù)據(jù)庫(kù)已變更。
SQL> alter session set container=orclpdb; //CDB下切換會(huì)話到PDB中
會(huì)話已更改。
SQL> shutdown immediate //在PBD中關(guān)閉插拔數(shù)據(jù)庫(kù)
插接式數(shù)據(jù)庫(kù)已關(guān)閉。
SQL> startup //在PBD中打開插拔數(shù)據(jù)庫(kù)
插接式數(shù)據(jù)庫(kù)已打開。

將PDB切換為CDB:

SQL> alter session set container=cdb$root;
 //切換會(huì)話到CDB

5.創(chuàng)建用戶:

* 創(chuàng)建用戶必須指定一個(gè)默認(rèn)的表空間,在12C版本上CDB中創(chuàng)建用戶,用戶名格式為:c##用戶名;PDB中創(chuàng)建用戶,用戶名格式為:用戶名;
* SQL> create user c##jack
2 identified by abc123 //指定密碼
3 default tablespace users //指定默認(rèn)表空間
4 temporary tablespace temp //指定臨時(shí)表空間
5 quota unlimited on users; //不進(jìn)行限額
更改用戶密碼
SQL> alter user c##jack identified by jack123;
刪除用戶
SQL> drop user c##jack cascade;

6.創(chuàng)建數(shù)據(jù)表(插入數(shù)據(jù),事務(wù))

SQL> create table info
2 (
3 id number(4),
4 name varchar2(10),
5 score number(5,2),
6 riqi date
7 );

7.事務(wù):

在oracle中默認(rèn)開啟事務(wù)不進(jìn)行提交。因此在進(jìn)行數(shù)據(jù)操作時(shí),一定要記得提交,或者設(shè)定為自動(dòng)提交。否則數(shù)據(jù)不能寫入硬盤中。
SQL> insert into info values (1,'lisi',80,to_date('2018-08-26','yyyy-mm-dd'));
SQL> set autocommit on; //設(shè)定自動(dòng)提交,回滾無效

8.索引:

(SQL>)
B樹索引
create index 索引名稱 on 表名(列名)
唯一索引/非唯一索引
create unique index 索引名稱 on 表名(列名)
反向索引
create index 索引名稱 on 表名(列名)reverse
位圖索引
create bitmap index 索引名稱 on 表名(列名)
其他索引
create index 索引名稱 on 表名(upper(列名)) //大寫函數(shù)索引
查看索引
select index_name,index_type,table_name,tablespace_name from user_indexes;
查看索引相關(guān)信息
select index_name,table_name,column_name from user_ind_columns where index_name like 'EMP%';
重建索引
alter index 索引名稱 rebuild;
alter index 索引名稱 rebuild tablespace 表空間
合并索引碎片
alter index 索引名稱 coalesce;
刪除索引
drop index 索引名稱

9.視圖:

創(chuàng)建視圖要注意權(quán)限問題
SQL> create view vinfo as select from info; //創(chuàng)建視圖
SQL> select from vinfo; //查詢視圖
SQL> drop view vinfo; //刪除視圖

10.物化視圖:

首先要通過管理員帳號(hào)為c##jack用戶賦予權(quán)限
SQL> grant create materialized view to c##jack; //創(chuàng)建物化視圖權(quán)限
SQL> grant query rewrite to c##jack; //查詢,重寫權(quán)限
SQL> grant create any table to c##jack; //創(chuàng)建所有表權(quán)限
SQL> grant select any table to c##jack; //查詢所有表權(quán)限
SQL>alter table info add primary key (id);   #添加主鍵
SQL>create materialized view log on info;  #創(chuàng)建物化視圖之前需要?jiǎng)?chuàng)建物化視圖日志
創(chuàng)建物化視圖:
SQL> create materialized view mtview 
2 build immediate //創(chuàng)建完成立馬生成新數(shù)據(jù)
3 refresh fast //刷新數(shù)據(jù)
4 on commit //提交
5 enable query rewrite //開啟查詢重寫功能
6 as
7 select * from info;

SQL> drop materialized view mtview; //刪除物化視圖

11.序列:

oracle中自增列需要單獨(dú)進(jìn)行創(chuàng)建,然后插入數(shù)據(jù)時(shí)進(jìn)行調(diào)用。
創(chuàng)建序列
SQL> create sequence id_seq
2 start with 10 //初始值
3 increment by 1 //增量
4 maxvalue 1000 //最大值
5 nocycle //肺循環(huán)
6 cache 50; //緩存

插入數(shù)據(jù)時(shí)調(diào)用序列
SQL> insert into info values (id_seq.nextval,'tom',80,to_date('2018-04-10','yyyy-mm-dd'));
查詢序列當(dāng)前值
SQL> select id_seq.currval from dual;
更改序列
SQL> alter sequence id_seq cache 30;
查看序列信息
SQL> select sequence_name,increment_by,cache_size from user_sequences;
刪除序列
SQL>drop sequence id_seq;

12.同義詞:

俗稱別名,外號(hào),可以提高數(shù)據(jù)安全可靠性。
私有同義詞:只在當(dāng)前用戶可以使用
公有同義詞:所有數(shù)據(jù)庫(kù)用戶都可以使用
SQL> create synonym pr_info for info; //創(chuàng)建私有同義詞
SQL> create public synonym pub_info for info; //創(chuàng)建共有同義詞
刪除同義詞
SQL> drop synonym pr_info;
SQL> drop public synonym pub_info;

13.補(bǔ)充:
常用oracle數(shù)據(jù)庫(kù)查詢命令:

(1)Select * from tables(表名);??//查詢表tables的內(nèi)容
(2)Truncate table tables(表名);//清除表內(nèi)數(shù)據(jù);但保留格式
(3)Select? ID(列名)from tables? groupby ID(列名)、ID2(列名)havingcount(*)>1;?//查詢表中重復(fù)的數(shù)據(jù)
(4)Select * from tables(表名) a where a.id(列名)=’07552223’(重復(fù)的數(shù)據(jù));//將在列ID中所有與07552223相同的數(shù)據(jù)排列出來
(5)delete from tables where rowid in (select min(rowid)fromtables where id=’15252525’) group by username);??//刪除table表中ID列數(shù)據(jù)為‘15252525’的重復(fù)項(xiàng)
(6)delete from table where rowid in(select min(rowid)fromtable group by id..id2);? //刪除表table中所有關(guān)于列(ID)的重復(fù)信息
(7)select * from tables where regex_like(id,’^[^[:digit:]]+$’);? ??//查詢table在id列中所有是數(shù)字的數(shù)據(jù)
(8)select* from tables where regex_like(id,’^([a-z]|[A-Z]+[0-9]+)$’);? ???????? //查詢table在id列中所有帶有字符和數(shù)字的數(shù)據(jù)
(9)select count(*)fromtables;?//查詢table中所有數(shù)據(jù)的行數(shù)
(10)select table_name from xxcj_tj_zdcj a group by a.table_namecount(*) >1;?//查詢數(shù)據(jù)庫(kù)xxcj_tj_zdcj中是否有重復(fù)的表
(11)select * from xxcj_tj_zdcj awhere a.table_name in (‘05255’) order by a.table_name for update;? //修改數(shù)據(jù)庫(kù)xxcj_tj_zdcj中的值(即括號(hào)內(nèi)的內(nèi)容)
(12)select * from xxcj_tj_zdcj awhere a.id=’’ for update;//修改數(shù)據(jù)庫(kù)xxcj_tj_zdcj中id列的內(nèi)容
(13)truncate table數(shù)據(jù)庫(kù);?? //數(shù)據(jù)比對(duì)?
(14)select t.* ,t.rowid from 表名 t; //編輯表
(15)alter table 表名 add 列名 字符類型;//新建列
(16)alter table 表名 modify 列名 字符類型;//修改列類型
(17)alter table 表名 drop column 列名;//刪除列(最后一列)
(18)select * from 表名 where asciistr(列名)not like ‘%\%’;//查詢數(shù)據(jù)表中xx列中的為中文字符的數(shù)據(jù)
(19)select? substr(f_get_sfzhm18(zjhm) ,7,8)as csrq from 表名where regexp_like(substr(f_get_sfzhm18(zjhm) ,7,1) ,’[^1[2]’);

文章名稱:詳解Oracle存儲(chǔ)結(jié)構(gòu)掌握基本操作管理
轉(zhuǎn)載源于:http://bm7419.com/article48/jdiohp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、微信公眾號(hào)、品牌網(wǎng)站制作外貿(mào)網(wǎng)站建設(shè)、用戶體驗(yàn)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站