午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

oracle知識點總結(jié)(一)

 昵稱1268175 2011-07-08

oracle知識點總結(jié)(一)

2009-03-23 23:31

關(guān)鍵字: oracle,database

Oracle SQL(Oracle 9i 9.2.0.1.0)

一、DataBase
         保存數(shù)據(jù),以表的形式表現(xiàn)數(shù)據(jù)
二、SQL

SQL(structure query language 結(jié)構(gòu)化查詢語言),是操作關(guān)系型數(shù)據(jù)庫中的對象

DDL(data definition language 數(shù)據(jù)定義語言),用于建表或刪表操作,以及對表約束進行修改。
create table , alter table , drop table 對表結(jié)構(gòu)的增刪操作。

DML(Data manipulation language 數(shù)據(jù)操作語言),向表中插入紀錄,修改紀錄
        insert , update , delete , merge
   transaction ,事務控制語言,由DML語句組成的,commit; ,rollback;                           
   select 查詢語句
   dcl 授權(quán)語句 grant

三、Oracle
DBMS 數(shù)據(jù)庫管理系統(tǒng)
   有Oracle提供,還提供AS,應用服務器
   DBA 數(shù)據(jù)庫管理員

四、相關(guān)操作

echo $ORACLE_SID 查看現(xiàn)有的Oracle數(shù)據(jù)庫


1、sqlplus 訪問數(shù)據(jù)庫命令(本地訪問/遠程訪問),和數(shù)據(jù)庫建立連接的命令,是數(shù)據(jù)庫操作的環(huán)境
   sqlplus 用戶名/密碼

2、show user 顯示當前用戶的用戶名

   改變身份可以直接connect 用戶名/密碼   --- 這個是sqlplus命令
   在sqlplus中可以使用 ! 可以在shell和sqlplus間切換,!shell命令 可以在sqlplus中使用shell命令。
   實際上是sqlplus開了子進程來執(zhí)行shell命令。

3、Oracle數(shù)據(jù)庫中的表分兩類:用戶表(用戶使用操作的表),系統(tǒng)表(數(shù)據(jù)庫系統(tǒng)維護的表,也叫數(shù)據(jù)字典)
   對用戶表的DDL操作出發(fā)了對系統(tǒng)表的DML操作!

五、基本語法

1、select查詢語句

select table_name from user_tables;(查詢系統(tǒng)表)
以上的查詢語句就是查詢本用戶下所擁有的所有表的表名。

投影操作,只查看選擇的字段的信息。
選擇操作,查看字段中的特定某些信息。
聯(lián)接操作,多表查詢,通過表間連接,查尋出多表中的信息

(1)select table_name from user_tables;(查詢系統(tǒng)表)
     以上的查詢語句就是查詢本用戶下所擁有的所有表的表名。
    
(2)sqlplus的buffer中會緩存最后一條sql語句,可以使用"/"來執(zhí)行這最后一條sql語句,也可以使用
     edit命令來編輯最后一條sql語句。
     l命令(list)(sqlplus命令)可以顯示buffer中最后一條命令。  
    
     sqlplus命令可以縮寫
    
(3)desc [表名]
     這是一條sqlplus命令,注意他不是sql語句,這條命令用于查看表的結(jié)構(gòu)。describe的縮寫
     [字段名] [字段的類型],這是使用完desc命令后顯示的表結(jié)構(gòu)。      
    
(4)select [表的字段名1],[表的字段名2], ... from 表名;
     select * from 表名; 查尋表中所有字段的信息    
    
(5)關(guān)鍵字不能拆分,sql語句,以及表名,字段名是大小寫不敏感的。
     sql語句要以";"結(jié)尾,來表示sql語句結(jié)束,如果不加";"系統(tǒng)不會執(zhí)行此條sql語句,并提示。    
     在Oracle中字符顯示是左對齊,數(shù)值右對齊。
    
(6)在select 語句中可以使用數(shù)學表達式。
     select [表達式(必須包含本表字段名)],[...],.... from 表名;
     運算的優(yōu)先級的先乘除后加減,同級自左向右運算,括號改變優(yōu)先級。

(7)別名
     select [字段名或表達式] ["別名"],[...] ["..."],.... from 表名;
     可以通過在字段名或表達式后加空格"別名",可以給列,或者表達式結(jié)果其別名。    
     表達別名必須加雙引號。
    
(8)字符串拼接使用||符號
     select 目標字段名||' '||目標字段名 from 表名;

     注意:在Oracle中的字符或字符串要用單引號,雙引號用來起別名
     別名中需要使用空格,或是大小寫敏感時需要用".."包含。    
    
練習:
自己寫一條SQL語句,執(zhí)行的結(jié)果是select * from ...;
其中...是每張系統(tǒng)表的表名
即在每張系統(tǒng)表的表名前加“select * from” ,后加“;”

select 'select * from '||table_name||';' from user_tables;
    
    
2、處理錯誤
(1)!oerr ora [錯誤號] ,系統(tǒng)可以顯示錯誤的原因和如何修改。如果命令錯誤輸入可以使用edit或ed來修改輸入錯誤。
     實際上是在編輯緩存文件中的最后一條sql語句。
     也可以使用 (change) c /錯誤字段/正確字段,來進行替換操作進行修改。
     只有在Linux平臺使用
     ! 相當于 host ,沒有斷連接,只是切換了一下,執(zhí)行shell命令
(2)edit命令來編輯最后一條sql語句。

3、sqlplus設置
set pause on 回車響應,分屏顯示,只在本會話中有效
set pause off 關(guān)閉分屏顯示。
set pause "..." 設置分屏顯示的提示信息。
set pause on 先輸出提示信息,回車響應,分屏顯示
set head off 提頭輸出關(guān)閉
set feed off 結(jié)尾輸出關(guān)閉
set echo off 回寫關(guān)閉
spool 文件名.sql 寫入指定文件
spool off 關(guān)閉寫入。   

4、sql腳本
   也就是在文件中寫有sql語句的文件,可以在sqlplus中運行。
   引入sql腳本
   sqlplus 用戶名/密碼 @sql腳本 (注意:在用戶名密碼輸入結(jié)束后一定要加空格然后再寫@sql腳本)
   在腳本中最后一行寫上“exit”,則運行完腳本以后,回到shell上
  
  
5、
Oracle中的空值 空值會當無窮大處理,其實空值根本就不會存儲,只是看作是無窮大。

Oracle中控制處理函數(shù) NVL(字段名,值),這個字段中的空值替換為指定值,如果不為空,則會返回其原值。
例:select first_name,salary*12*(1+NVL(commission_pct,0)/100) "total salary" from s_emp;

distinct關(guān)鍵字,去掉重復行(這個關(guān)鍵字會觸發(fā)排序操作)
例: select distinct dept_id,title from s_emp;
        distinct 可以使dept_id與title的聯(lián)合唯一
注意:distinct,關(guān)鍵字之后會對from之前的字段進行排重操作。


六、選擇操作

1、order by 排序是按照存儲順序輸出的,order by后面可以跟字段名,別名,位置,也可以有多個字段,當?shù)谝粋€字段的值一樣時,按第二個字段排序
   排序子句 ASC(默認,升序) DESC(降序)
   order by 目標列名(別名) 排序順序(不寫排序順序,會默認為升序排序)

   例:select first_name from s_emp order by first_name;
       select first_name from s_emp order by first_name desc;

   注意:升序空值在結(jié)果的末尾,降序空值在結(jié)果的最前面。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多