TIPTOP系統Oracle 常用命令及權限表

 

進入ISQL  sqlplus       1.常規登陸   sqlplus         SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 9月 17 09:57:02 2003        Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

     2.快捷登陸    sqlplus username/passwd       username 登陸用戶名       passwd     登陸用戶密碼     SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 9月 17 09:59:18 2003         Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.         Connected to:         Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production         With the Partitioning, OLAP and Oracle Data Mining options         JServer Release 9.2.0.1.0 - Production 建立/修改Table 建立/更改Table 1.寫好create table 的sql再執行

        vi  dpe_file.sch         /*        =========================================================         檔案代號:dpe_file         檔案名稱:體檢項目代號資料檔        ==========.===================.===========================         */         create table dpe_file            (               dpe01        varchar2(6),            /*體檢項目代號            */               dpe02        varchar2(30),          /*說明                            */               dpe03        varchar2(01),          /*No use                         */               dpeacti      varchar2(01),          /*資料有效碼                 */               dpeuser     varchar2(10),          /*資料所有者                 */               dpegrup    varchar2(06),          /*資料所有部門              */               dpemodu  varchar2(10),          /*資料修改者                  */               dpedate     date                         /*最近修改日                  */           );           create unique index dpe_01 on dpe_file (dpe01);             建立/更改Table 2.在 unix 環境下 sqlplus ds/ds  < dpe_file.sch  即可create table 了

 </u1/topo/apy/sql> sqlplus ds/ds < dpe_file.sch SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 9月 17 10:37:23 2003 Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved. Connected to:                                                                   Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production                      With the Partitioning, OLAP and Oracle Data Mining options                      JServer Release 9.2.0.1.0 - Production DOC>============================================================    DOC>檔案代號:dpe_file                                                          DOC>檔案名稱:體檢項目代號資料檔                                                 DOC>==========.===================.==============================    DOC>*/                                                                          Table created.                                                                                 Index created. SQL>

建立/更改Table 建立/更改Table SQL> desc dpe_file;                                                              Name                                              Null?    Type                         ----------------------------------------- -------- ----------------------------  DPE01                                                        VARCHAR2(6)                  DPE02                                                        VARCHAR2(30)                 DPE03                                                        VARCHAR2(1)                  DPEACTI                                                   VARCHAR2(1)                  DPEUSER                                                  VARCHAR2(10)                 DPEGRUP                                                  VARCHAR2(6)                  DPEMODU                                                VARCHAR2(10)                 DPEDATE                                                  DATE                                                                                                        SQL> 建立/修改Table 修改table       1.寫成sql 更改            SQL> ed alter_dpe.sch           alter table dpe_file modify (dpe01 varchar2(10)); /*修改dpe01*/                   alter table dpe_file add (dpe00 varchar2(10));      /*增加dep00*/           alter table dpe_file drop (dpe03);                          /*刪除dpe03*/            drop index dpe_01;                                                /*刪除索引*/           SQL> @alter_dpe.sch            Table altered.            Table altered.                                                                                            Table altered.            Index dropped.     建立/修改Table 2.進入sqlplus 更改                                                                                 SQL> alter table dpe_file modify (dpe01 varchar2(10));                                                                                                          Table altered.                                                                                                                                                  SQL> alter table dpe_file add (dpe00 varchar2(10)); Table altered. SQL> alter table dpe_file drop (dpe03); Table altered. SQL> drop index dpe_01; Index dropped.                                                                                 SQL> 建立/修改Table SQL> desc dpe_file;                                                             Name                                                Null?   Type                         ----------------------------------------- -------- ----------------------------  DPE01                                                         VARCHAR2(10)                 DPE02                                                         VARCHAR2(30)                 DPEACTI                                                    VARCHAR2(1)                  DPEUSER                                                   VARCHAR2(10)                 DPEGRUP                                                   VARCHAR2(6)                  DPEMODU                                                 VARCHAR2(10)                 DPEDATE                                                   DATE                         DPE00                                                         VARCHAR2(10)    

INSERT 指令介紹 INSERT INTO table_name[(column-list)]          VALUES(value-list) 範例: 1. INSERT INTO dpe_file VALUES('A00003','test','','Y','carrier','1400','','03/09/17‘) 2. INSERT INTO cus_file(cus01,cus02)     VALUES(‘C00002’, ‘ test01’);

UPDATE 指令介紹 Syntax     UPDATE table_name          SET col=expr,col=expr         [WHERE clause ]  範列說明:   1.UPDATE dpe_file SET dpe02=‘test02’            WHERE dpe01 LIKE ‘A%1’   2. UPDATE dpe_file SET dpe02='test02',                                        dpeacti='N‘           WHERE dpe01 like 'A%1'    3. UPDATE dpe_file SET dpeuser='michael‘,                                       dpegrup='2100‘          WHERE (dpe01 = 'A00002' or dpe01 like 'C_000_');

DELETE 指令介紹 Syntax:     DELETE FROM table_name            [WHERE clause] 範例說明:  1.DELETE FROM dpe_file     [注意]:沒有where 條件會將所有資料刪除                 且無法將資料還原 2.DELETE FROM dpe_file            WHERE dpe01 LIKE ‘C%’ SELECT指令介紹 Syntax: SELECT   column,group_function(column)          FROM    table_name          [WHERE condition]          [GROUP BY group_by_expression]          [HAVING group_condition]          [ORDER BY column]              範例說明:   1.SELECT  *   FROM cus_file order by cus01 ASC   2.SELECT cus01,cus02 FROM cus_file order by cus01 DESC,cus02   3.SELECT last_name,salary,12*salary+100 FROM employee   4.SELECT last_name As name,commission comm FROM employee   5.SELECT last_name||job_id as “Employee Info”  FROM employee   6.SELECT last_name || ‘ is a ’||job_id as “Employee Detail” FROM employee   7.SELECT distinct dpe02  FROM dpe_file   8. SELECT last_name,age FROM employee WHERE age<=45            SELECT指令介紹 範例說明:    9.SELECT  * FROM  employee WHERE age between 20 and 65       SELECT *  FROM dpe_file        WHERE dpe02 is null and (dpeacti=‘Y’ or dpeuser like ‘carr%’)  10.SELECT employee_id,UPPER(last_name)  FROM employee        WHERE INITCAP(last_name) = ‘Higgins’       SELECT employee_id,CONCAT(first_name,last_name)  NAME ,                       job_id,LENGTH(last_name), INSTR(last-name,’a’)  “Contain ‘a’?”             FROM employee WHERE SUBSTR(job_id,4)=“REP”       SELECT last_name,salary,MOD(salary,5000) FROM employee        WHERE job_id=‘SA_REP’       Join table 範例:   11.SELECT oea01,oeb02,oeb04,oeb12  FROM oea_file,oeb_file          WHERE oea01=oeb01   12.SELECT e.employee_id,e.last_name,e.department_id,d.department_id,                       d.location_id             FROM employee e ,department d         WHERE e.department_id=d.department_id          SELECT指令介紹 範例說明:   13. SELECT  e.last_name,e.department_id,d.department_name                 FROM employee e ,department d               WHERE e.department_id(+)=d.department_id              SELECT  e.last_name,e.department_id,d.department_name                 FROM employee e ,department d               WHERE e.department_id=d.department_id(+)         14.INSERT INTO cus1_file  SELECT *   FROM cus_file         15.INSERT INTO cua_file(cua01,cua02)                   SELECT cus01,cus02 FROM cus_file                    WHERE cus01 MATCHES ‘C*’         16.SELECT COUNT(*) FROM oea_file               WHERE oea02 BETWEEN ’01/01/01’ AND ’01/12/31’         17.SELECT COUNT(DISTINCT oea03) FROM oea_file               WHERE oea02 BETWEEN ’01/01/01’ AND ’01/12/31’         18.SELECT MAX(oea02),MIN(oea02) FROM oea_file               WHERE oea02 BETWEEN ’01/01/01’ AND ’01/12/31’   

 

SELECT指令介紹 範例說明:       19. SELECT AVG(oeb12)  FROM  oea_file,oeb_file             WHERE  oea02 BETWEEN  '010101' AND '011231'                   AND oea01=oeb01 AND  oeb04='11-03-SDD16‘ and oeb12<>0 

     20.SELECT  * FROM oea_file            WHERE oea02 = (SELECT MAX(oea02) FROM oea_file                                           WHERE oea02 > = ’01/01/01’)                                              21.SELECT department_id,AVG(salary) FROM employee                GROUP BY department_id

      22.SELECT department_id,MAX(salary) FROM employee                GROUP BY department_id                HAVING MAX(salary)>10000

           SELECT指令介紹----where 比較符號     ‘=’ ‘ >’  ‘ >= ’  ‘< ’  ‘<=’   ‘<>’ 其它比較符號    BETWEEN .. AND ..      WHERE age between 20 and 30    IN (..)     WHERE age in (20,21,22,23,24,25,26,27,28,29,30)    LIKE      WHERE dpe01 like ‘A_0%’    IS NULL   WHERE age is null SELECT指令介紹----where 邏輯符號     ‘AND’ ‘OR’ ‘NOT’     where dpe01=‘A00001’ AND dpe02=‘test01’       where dpe01=‘A00001’ OR dpe01=‘C00001’       where age not in (20,21,22,23,24,25,26,27,28,29,30)

Group Function AVG COUNT MAX MIN STDDEV SUM

Oracle Function---1 FUNCTION---2 Number Function    ROUND             round(45.926,2)   45.93    TRUNC             trunc(45.926,2)    45.92     MOD             mod(1600,300)     100 LOAD/UNLOAD指令介紹 因爲oracle沒有提供類似INFORMIX的load,unload語句,所以在tiptop環境下有一些工具 1.使用load shell,load shell會去呼叫$TOP/ora/load.42m 程序 使用方式 Usage: load database tablename txtfile Ex : load ds ze_file ze_file.txt 2.使用loaddb shell,loaddb shell會去呼叫external tools SQL*Loader 使用方式 Usage: /u1/topo/ora/bin/loaddb dbname [tablename] [txtfile] Ex1 : /u1/topo/ora/bin/loaddb ds1 Ex2 : /u1/topo/ora/bin/loaddb ds1 ima_file [ima_file.txt] Ex3 : /u1/topo/ora/bin/loaddb ds1 i%_file 3.直接使用Oracle提供的SQL*Loader,但必須自己編輯control file, 用法 sqlldr ds/ds control=azb_file.ctl log=azb_file.log LOAD/UNLOAD指令介紹

control file格式如下 load data infile '/u1/tiptopo/azb_file.txt ' append into table azb_file fields terminated by '^A' ( azb01, azb02, azb06, azbacti, azbuser, azbgrup, azbmodu, azbdate ) 4.另外可以在BDL程序中使用channel的方式來產生SQL*Loader 所需用的control file, 再透過RUN command的作法來激活SQL*Loader,channel的寫法可參考BDL文件

Sqlplus 一些命令介紹 Help index  查詢相關命令 @  運行.sql的文件 Ed  類似於vi Get 將一句sql語句放入sql 緩衝器 R –run / 重複上一個在memory中的command Desc 顯示錶結構 Spool 記錄執行過程 Start  get+r Save 將memory中的命令保存在一個文件中 Set 設置一些oracle設定

Sqlplus 一些命令介紹 示範 help accept   找尋accept的幫助信息 @c_dpe.sql   執行c_dpe.sql中的內容 ed c_dpe.sql  編輯一個文件c_dpe.sql get c_dpe.sql 將該文件的內容放入memoery 中 r                    執行memory中的命令 /                    同r desc dpe_file  查看dpe_file的表結構 spool file.lst   將在這期間執行的命令及結果放入file.lst 文件             sqlplus 命令             spool off Start c_dpe.sql  執行start後面文件中的內容 save t1.sql       set wrap on     設置可以折行顯示 Set heading off

 

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