1. 程式人生 > >Oracle命令(三):Oracle要點

Oracle命令(三):Oracle要點

SQL 要點

附錄:

1SQL 簡介

2SQL 操作

3Oracle 常資料

4Oracle 函式

5Oracle 常SQL語法

串函式

LENGTH()     長度

LENTTHB()    位元組長度;一漢字記憶體 2位元組

LTRIMRTRIMTRIM

SUBSTR(表示式,位置,長度)

Oracle 無左右取串函式,但可以使變通方式完成。

左取串:    SUBSTR('abcdefg', 1, 3)

右取串:    SUBSTR('abcedfg', LENGTH('abcdefg')

-3+1, 3)

時間函式

sysdatecurrent_day

設定時間式:    ALERTSESSION SET NLS_DATE_FORMAT= 'dd-mon-yyyy HH:mi:ss'

求時間:        NEXT_DAY(sysdate, '星期三')

轉換函式

TO_CHAR(sysdate, 'yyyy-mm-dd hh24:mi:ss')

TO_DATE('12-3月-04')

TO_NUMBER('333')        須是能轉換

TO_TIMESTAMP('2007-10-10 00:00:00.0', 'yyyy-mm-dd hh24:mi:ssxff'

)    轉換時間戳

聚合函式

count(*)    :查詢錶行數

count(column)    :查詢列行數,會忽略空,注意

ps.聚合函式不能做 where 裡查詢條件出現(因聚合對所有查詢結果的運算?)

其他函式

USER:當前

SUM(DECODE(SEX, '男', 1, 0))    選出行被男的記錄並加1

SUM(DECODE(SEX, '女', 1, 0))    選出行被女的記錄並加1

NVL(a2, '非輸入')        布林判斷,利用系統對空進行處理

SELECT DISTINCT a1FROM aa    

表連線

內連線:查詢時,把能夠公共匹配的資料完全查詢出來。

    FROM e, d WHERE e.id= d.id

    標準: FROM e JOIN d ON e.id= d.id

外連線:不完全匹配

  左連線:  FROM e JOIN d ON e.id= d.id(+)

    左邊資料全部顯示,右邊匹配不上的部分代替

  右連線:  FROM e JOIN d ON e.id(+) = d.id

    (同理左連線)

子查詢

    無關子查詢

    相關子查詢

EXISTS()    根據子查詢返回是否資料來決定父查詢。

UNION        將多查詢出來的資訊行整合成一結果集。

  SELECT eid, ename FROM e

UNION

  SELECT id, name FROM d

  ps.UNION 查詢出來的重複記錄不會顯示UNION ALL 顯示全部(包括重複的)。

INTERSECT:    返回查詢出來資訊行的交集,Oracle 獨有。

利用查詢結果批量更新:

  INSERT INTO e(eid, ename) SELECT id, nameFROM d

或者利用查詢結果建立新表:

  CREATE TABLE tttAS ttt(SELECT * FROM e)

附加:

一、SQL 簡介

SQL Structured QueryLanguage,結構化查詢語言)持如下類別命令:

資料定義語言:CREATE(建立)、ALTER(更改)、TRUNCATE斷)、DROP(刪除)令。

資料操縱語言:INSERT(插入)、SELECT(選擇)、DELETE(刪除)、UPDATE(修改)令。

事務控制語言:COMMIT(提交)、SAVEPOINT(儲存點)、ROLLBACK(回滾)令。

資料控制語言:GRANT(授予)、REVOKE(回收)令。

特點:

1過程語言,它同時可以訪問多條記錄。

2、所有關係型資料庫的通型語言,可移植性

3、對於資料和物件的操作簡單。

資料定義語言

    於改變資料庫結構,包括建立、修改和刪除資料庫物件。

1CREATE TABLE 建立表

CREATE TABLE [schema.]table

(columname    datetype[, .]);

.表名的最大長度30

.表名首字母字母,可以下劃線、數字和字母,但不能使和單引號;

.同一式下的不同表不能有相同的名稱;

.表名、列名、戶名、和其他物件名不分大小寫,系統會自動轉換成大寫。

2ALTER TABLE 修改表

ALTER TABLE <tablename>

    MODIFY (column definition);

    ADD (column definition);

    DROP COLUMN column;

3TRUNCATE TABLE 取表

TRUNCATE TABLE <tablename>

    快速刪除記錄並釋空間,不使事務處理,無法回滾,效率高。

DESC <tablename>  查看錶結構

4DROP TABLE 刪除表

DROP TABLE <tablename>

資料操縱語言

DISTINCT 防止選擇重複的行。

事務控制語言

COMMIT  提交併結束事務處理。

SAVEPOINT  儲存點,將很長的事務處理劃分較小的部分,於標記事務可以應回滾的點。

ROLLBACK  來撤銷當前的事務已完成的操作。可以回滾整事務處理;也可以將事務回滾到某儲存點。

UPDATE xxx;

  SAVEPOINT mark1;

DELETE FROM xxx;

  SAVEPOINT mark2;

  ROLLBACK TO SAVEPOINT mark1;

  COMMIT;

資料控制語言  

為用戶提供許可權控制令。

授予物件許可權

GRANT SELECT,UPDATE  ON  order_master

  TO MARTIN;

取消物件許可權

REVOKE SELECT,UPDATE  ON  order_master

  FROM MARTIN;

二、SQL 操作

操作

    表示式有NUMBER 資料型的列名、數常量和連線它們的算操作組成。(+ - * /

比較操作

    於比較兩表示式的

    =!=<><=>=BETWEEN  AND (檢查是否在個值之間)

    [NOT] IN(與列表匹配)  

    [NOT] LIKE(匹配字符模式,  * _  通配

    [NOT] IS NULL(檢查是否為空)

輯操作

    於組合生成一真或假的結果。AND OR NOT

集合操作

    集合操作將兩查詢的結果組合成一結果集合。

    UNION(聯合)         返回兩查詢選定不重複的行。(刪除重複的行)

    UNION ALL(聯合所有)合併兩查詢選定的所有行,包括重複的行。

    INTERSECT(交集)     只返回兩查詢都有的行。

    MINUS(減集)         在第查詢結果排除查詢結果出現的行。-- 第二)

使集合操作連線起來的SELECT 語句的列應遵循以下規則:

.通過集合操作連線的各查詢相同列數,匹配列的資料型;

.這種查詢不應LONG 型的列;

.列標題來自 SELECT 語句。

SELECT orderno FROM order_master

  UNION 

SELECT orderno FROM order_detail;

連線操作 ||

    於將兩或者多串合併成一串,或者將一串與一合併一起。

SELECT ('供應商'|| venname|| '的地址是' || venaddress)

  FROM vendor_master

三、Oracle 常資料

1、字資料

CHAR        固定長度字        長度 12000位元組,指定則預設 1位元組

VARCHAR2    可變長度字        長度 14000位元組,定義時必指定大小

LONG        可變長度字        最多能儲存 2GB,儲存超過 VARCHAR2 的長文資訊

                    ps.只有一列 LONG 資料型,

                      .LONG 列不能建立索引,

                      .儲存過程不能接受LONG 資料型的引數

2、數資料

NUMBER 資料型可以儲存正數、負數、零、定點數(小數點的?)和精度38的浮點數。

式:NUMBER [(precision 精度,數字位數138

        , scale 範圍,小數點右邊的位數-84127)]

3、時期時間資料

DATE 資料型,於儲存表日期和時間資料。SYSDATE 函式功能就返回當前的日期和時間。

TIMESTAMP 資料型,儲存時期、時間和時資訊。SYSTIMEATAMP 功能就返回當前日期、時間和時

4、二進位制資料

RAW         二進位制資料或位元組串    長度12000 位元組,定義時應指定大小,可建索引

LONG RAW    可變長度的二進位制資料    最大能儲存2GB,限制等同於LONG 資料

5LOB 資料

“大物件”資料型,最多可儲存多達4GB的資訊。LOB 可以外部的,也可以內部的,取決於相對於資料庫位置。

CLOB        Character LOB      儲存大量的字資料

BLOB        Binary LOB         儲存大量的二進位制物件(多媒體物件等)

BFILE        Binary File        能夠將二進位制檔案儲存資料庫外部的作業系統檔案

                    BFILE 儲存一 BFILE 定位器,它指向位於伺服器檔案系統上的二進位制檔案。

ps.可以有多 LOB 列,每 LOB 列可以不同的 LOB 型。

6

Oracle 的一表列,但實際上儲存表。可以從表查詢,但不能插入,更新或者刪除。

ROWID     返回行記錄的行地址,通常情況下,ROWID 可以一地標識資料庫的一行。

   .能最快形式訪問表

相關推薦

Oracle命令Oracle要點

SQL 幾個要點 附錄: 1、SQL 簡介 2、SQL 操作符 3、Oracle 常用資料類型 4、Oracle 函式 5、Oracle 常用SQL語法 字符串函式 LENG

Oracle命令Oracle登入

1、執行SQLPLUS工具   C:\Users\wd-pc>sqlplus; 2、直接進入SQLPLUS命令提示符   C:\Users\wd-pc>sqlplus /nolog

圖文並茂- 12C RAC的安裝 Oracle 安裝及建庫

接前面的,接下來安裝Oracle 軟體,並建庫。 下圖中,自檢的一些問題,可以忽略,主要原因為swap設定較小,生產環境建議按照官方文件設定swap,中間兩項,主要原因為使用了/etc/hosts,而不是使用了DNS。第一項第四

Linux常用命令 uniq

Linux uniq命令用於檢查及刪除文字檔案中重複出現的行列。 uniq可檢查文字檔案中重複出現的行列。 語法 uniq [-cdu][-f<欄位>][-s<字元位置>][-w<字元位置>][--help][--version][輸入檔案][輸出檔案

Linux基礎命令重定向、展開與引用——cat、sort、uniq、grep、wc、head、tail、tee

I/O重定向 通過這個工具,可以重定向命令的輸入輸出,命令的輸入來自檔案,而輸出也存到檔案。 也可以把多個命令連線起來組成一個強大的命令管道。 cat — 連線檔案 sort — 排序文字行 uniq — 報道或省略重複行 grep — 列印匹配行 wc — 列印

ORACLE RAC部署實錄ORACLE ASMLIB

oracle asm[root@king01 ~]# yum install -y kmod-oracleasm* [root@king01 ~]# rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm [root@king01 ~]# rpm -ivh oracleasm

ORACLE RAC部署實錄Oracle Grid Infrastructure

oracle rac[root@king01 ~]# groupadd -g 1300 dba [root@king01 ~]# groupadd -g 1301 oper [root@king01 ~]# groupadd -g 1000 oinstall [root@king01 ~]# groupad

Linux 學習之路 使用者管理命令詳解

使用者管理命令詳解 useradd [options] USERNAME ​ -u UID(>=500,並且與其他使用者無重複) ​ -g GID(基本組,組必須事先存在) ​ -G GID,… (附加組,組必須事先存在) useradd -G mygroup us

《深入淺出資料分析》一書要點記錄第10章到第13章

10. 迴歸——預測 要點: (1)演算法:為了完成某個計算而執行的任何過程。 (2)散點圖:見第4章,用於顯示觀察結果的成對關係。 (3)平均值圖:一種散點圖,顯示了與X軸上的每個區間相對應的Y軸數值。 (4)迴歸線:最準確地貫穿平均值圖中各個點的直線,可以用等式

理解JVMJVM命令工具

jps(JVM Process Status Tool) 虛擬機器程序狀況工具,可以列出正在執行的虛擬機器程序,並顯示虛擬機器執行主類(MainClass,main()函式所在的類)名稱以及這些程序的本地虛擬機器唯一ID(Local Virtual Machi

ESRESTfull風格和curl命令

RESTfull一種軟體架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。在目前主流的三種Web服務互動方案中,REST相比於SOAP(Simple Object Access p

圖文並茂 - 12C RAC的安裝 ORACLE 叢集的安裝

開始安裝,上圖 下圖中,實際選擇是configure a standard cluster ,如果選擇下面的confirura a flex cluster,則需要配置GNS,也就是接下來的GNS不能被取消。 下圖中,取消GNS選項,因為上圖的原因 新增節點,三個節

足球與oracle系列6伴隨建庫的亞洲盃——加油中國隊

原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明以下出處,否則追究版權法律責任。         黑龍江的建庫之旅,讓北漂的我有了一段喘息和舒緩的平坦期。更高興的是在緊張的工

Zebra-VTYSH原始碼分析和改造新增定製命令

  一 檢視介紹 由上面幾篇文章分析可見,所有的命令都是包含在node中的,根據Cisco或者H3常見路由器或者交換機的CLI格式可見,一個node就對應著一個檢視(View)。常用的檢視包括:普通檢視,管理檢視,檔案系統檢視,配置檢視,以及介面配置檢視和VLAN檢視等。

Redis入門Redis keys 命令和 Redis 字串命令

Redis keys 命令 序號 命令 描述 1 DEL key 該命令用於在 key 存在時刪除 key,返回被刪除 key 的數量 2 DU

Oracle基礎多表查詢

一、多表查詢 (一)簡單多表查詢 1、多表查詢的機制 1)SQL: SELECT * FROM emp; --14條記錄 SELECT * FROM dept;--4條記錄 SELECT * FROM emp,dept;--顯示56條資料??為什麼 2)分析: 先從 d

Oracle學習之路oracle多表查詢+分組查詢+子查詢講解與案例分析+經典練習題

1.笛卡爾集和叉集 笛卡爾集會在下面條件下產生:省略連線條件、連線條件無效、所有表中的所有行互相連線。 為了避免笛卡爾集, 可以在 WHERE 加入有效的連線條件。在實際執行環境下,應避免使用全笛卡爾集。 使用CROSS JOIN 子句使連線的表產生叉集。叉集和笛卡

linux文字處理三劍客awk命令詳解

簡介 awk是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。 awk有3個不同版本: awk、nawk和gaw

hbase學習教程HBase優化技巧、HBase基本命令、使用Java API對HBase伺服器進行操作

HBase優化技巧 1 修改 linux 系統引數 Linux系統最大可開啟檔案數一般預設的引數值是1024,如果你不進行修改併發量上來的時候會出現“Too Many Open Files”的錯誤,導致整個HBase不可執行,你可以用ulimit -n 命令

Redisset/get 命令解析

  經過前兩篇的介紹,我們對整個redis的動作流程已經有比較清晰的認識。   接下來就是到具體的命令處理方式的理解了,想來我們用這些工具的意義也是在此。雖然沒有人覺得,一個set/get方法會有難度,但是我們畢竟不是很清楚,否則也不至於在談到深處就懵逼了。   我覺得本文的一個重要意義就是: 讓set/ge