oracle細節

01、SQL查詢語句不區分大小寫,但是數據區分

02、where從句中Name=null是查詢不到結果的,必須用 is null

03、union去重,union all 不去重,intersect求交集 minu求差集

(不必一直用select +條件來查詢數據,有些關鍵字也非常好用)

04、sum、avg、variance(求方差)、stddev(求標準差)只用於數值

05、add_months(date,months)在當前日期上增加(months)個月,正數就是向後推移時間,負數你懂的、last_day(date)求給定月份中最後一天,

06、 months_between求給定兩個日期之間有幾個月 , new_time可以調整時區,sysdate返回系統當前時間

07、數學函數:ceil(number)上取整、floor(number)下取整

                        cos、cosh、sin、sinh、tan三角函數

08、EXP    返回以e爲底數的冪值;LN返回給定參數的自然對數;LOG(m,n)以n爲底,m爲參數的對數;

MOD求餘數;POWER(m,n)第一參數爲底數,第二個參數爲指數;SIGN返回參數的正負標識,1爲正,-1爲負;SQRT,返回參數的平方根,不允許負數

09、字符串函數

CHR,ASCLL碼轉字符;CONCAT字符串連接;INITCAP參數第一個字母大寫,其他小寫;LOWER,UPPER轉 大小寫;LPAD/RPAD至少一個參數,去除左右給定的字符;REPLACE替換字符,至少兩個參數,第一個字符串,第二個是要替換的內容,第三個是替換成的內容,如果省略,則默認爲搜索而不是替換;SUBSTR(str,begin,len)截取字符串;TRANSLATE(str,sstr,dstr),若str中出現的源字符串sstr中的字符,則將其轉換爲與sstr下標對應的dstr的字符,超出部分以空代替;LENGTH返回指定字符串的長度

10、類型轉換函數(看字面意思)

TO_CHAR

TO_NUMBER

GREATST/LEAST    返回表達式中最大的和最小的

11、SQL子句

STARTING WITH ‘EXP’ 與 like ‘EXP%’類似

HAVING必須跟在GROUP BY後面,其後也必須是組函數(GROUP之後,數據已成組)

12、創建和修改用戶

CREATE USER username IDENTIFIED by password;

ALTER    USER username IDENTIFIED by password;

13、關於權限

CONNECT    登錄級角色,可做有限的事情

RESOURCE   允許對Oracle作更多的訪問,並可賦予CONNECT權限,有創建過程、觸發、索引的權限

DBA                最高級別,可做任何事情~¥~

賦予權限:GRANT role TO user [WITH GRANT OPTION];

回收權限:REVOKE role FROM user;

 

14、數據庫訪問優化的最好辦法就是分流,軟硬件性能再好也有極限,但是數量確實沒有上限的。

優化一:分區存儲,將大表分配到不同的磁盤上

例:

CREATE TABLE TEST(
ID NUMBER PRIMARY KEY,
NAME VARCHAR(20) NOT NULL)
PARTITION BY RANGE(ID)
(PARTITION T01 VALUES LESS THAN 100000,
 PARTITION T02 VALUES LESS THAN 200000);

優化二:分表存儲,將大表分成小表,可以按照不同的分類標準

分表這裏不再多說,可見我之前的博客《MYSQL應用優化》

 

ORACLE在遵照SQL語言之外拓展了許多自己的特性,使用起來節省了很多再開發的成本,整個體系比較完整,只有一點不好的就是發佈商業用途要收費,呵呵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章