ocp課件v1簡單sql咨詢電話尚觀科技侵權_第1頁
ocp課件v1簡單sql咨詢電話尚觀科技侵權_第2頁
ocp課件v1簡單sql咨詢電話尚觀科技侵權_第3頁
ocp課件v1簡單sql咨詢電話尚觀科技侵權_第4頁
ocp課件v1簡單sql咨詢電話尚觀科技侵權_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、OCP 簡單 SQL 語句文檔約束定義: oracleupdba $ oracleupdba #SQL表示在 oracle 用戶下,如果在#模式,可 su oracle 切換表示在 root 用戶下表示在 sqlplus 環(huán)境下SQL(Structure Query Language)語言是數(shù)據(jù)庫的的,其發(fā)展過程如下:語言。SQL 的發(fā)展是從 1974 年開始1974 年由 Boyce 和 Chamberlin 提出,當時稱 SEQUEL。1976 年IBM 公司的 Sanjase在研制 RDBMS SYSTEM R 時改為 SQL。1979 年ORACLE 公司第一個基于 SQL 的商業(yè)化

2、RDBMS 產(chǎn)品。1982 年IBM 公司1985 年IBM 公司1986 年-第一個 RDBMS 語言 SQL/DS。第一個 RDBMS 語言 DB2?;M織 ANSI 宣布 SQL 作為數(shù)據(jù)庫工業(yè)標準。SQL 是一個標準的數(shù)據(jù)庫語言,是面向集合的描述性非過程化語言。它功能強,效率高,簡單易學易。然而 SQL 語言由于以上優(yōu)點,同時也出現(xiàn)了這樣一個問題:它是非過程性語言,即大多數(shù)語句都是獨立執(zhí)行的,與上下文無關,而絕大部分應用都是一個完整的過程,顯然用 SQL 完全實現(xiàn)這些功能是很作了如下兩方面的工作:擴充 SQL,在 SQL 中引入過程性結構;把 SQL 嵌入到高級語言中,以便一起完成一個

3、完整的應用。的。所以大多數(shù)數(shù)據(jù)庫公司為了解決此問題,SQL 語言的分類SQL 語言共分為:數(shù)據(jù)查詢語言 DQL,數(shù)據(jù)制語言 DCL,數(shù)據(jù)事務語言 TC。語言 DML,數(shù)據(jù)定義語言 DDL,數(shù)據(jù)控1 數(shù)據(jù)查詢語言 DQL數(shù)據(jù)查詢語言 DQL 基本結構是由 SELECT 子句,F(xiàn)ROM 子句,WHERE 子句組成的查詢塊:SELECT FROM WHERE 2 數(shù)據(jù)語言數(shù)據(jù)1)語言 DML 主要有三種形式:INSERT2)3)更新:UPDATE刪除:DELETE3 數(shù)據(jù)定義語言 DDL數(shù)據(jù)定義語言 DDL 用來創(chuàng)建數(shù)據(jù)庫中的各種對象表、視圖、索引、同義詞、聚簇等如:CREATE TABLE/VIE

4、W/INDEX/SYN/CLUSTER4 數(shù)據(jù)控制語言 DCL數(shù)據(jù)控制語言 DCL 用來授予或回收數(shù)據(jù)庫的某種1) GRANT:。2) REVOKE:回收權限5 數(shù)據(jù)事務語言 TC控制事務提交或回退的語言 commit,rollback,savepo回滾-ROLLBACK回滾命令使數(shù)據(jù)庫狀態(tài)回到上次最后提交的狀態(tài)。Savepo可設置保存點,rollback 可回退到指定的 savepoCOMMIT WORK:提交。在數(shù)據(jù)庫的、刪除和修改操作時,只有當事務在提交到數(shù)據(jù)庫時才算完成。在事務提交前,只有操作數(shù)據(jù)庫的這個可以看到。能看到所做的事情,別人只有在最后提交完成后才提交數(shù)據(jù)有三種類型:顯式提交

5、、隱式提交及自動提交。下面分別說明這三種類型。顯式提交用 COMMIT 命令直接完成的提交為顯式提交。其格式為:SQLCOMMIT;隱式提交用 SQL 命令間接完成的提交為隱式提交。這些命令是: ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT GRANT,NOAUDIT,QUIT,REVOKE,RENAME。自動提交若把MIT 設置為 ON,則在、修改、刪除語句執(zhí)行后,系統(tǒng)將自動進行提交,這就是自動提交。其格式為:SQLSETMIT ON;這是 SQL 部分的第一講 簡單的 sql 語句講述的知識點有:如何確定數(shù)據(jù)庫是否啟動如何確

6、定數(shù)據(jù)庫的實例名字如何指定 ORACLE_SID 變量sqlplus 如何連接到數(shù)據(jù)庫如何在 sqlplus 環(huán)境中切換用戶如何確認目前連接的是那個用戶如何知道用戶下有那些表如何查看表的結構,比如列名,數(shù)據(jù)類型,長度等用戶如何查看表的行內(nèi)容-簡單的 sql 語句SELECT *|DISTINCT column|expres 10.sql 語句書寫標準sql 語句的算術表達式如何使用別名alias,. FROM table;如何使用連接運算符,字面字符串 q如何去除重復行 15.sql 常見命令APPEND CHANGE CLEAR BUFFERCL SCRINPUTLIST DEL nSAVE

7、 GET START/ EDIT SPOOL EXITCOLUMNJUSTIFY LEFT | CENTER | RIGHT16.isql*plus 使用1.如何確定數(shù)據(jù)庫是否啟動確定一個數(shù)據(jù)庫是否啟動,可以通過看進程,或查詢視圖,比如看進程oracleupdba $ ps -ef|grep ora_ oracleupdba $ ps -ef|grep ora_|head -2oracleoracle2594259610 21:42 ?10 21:42 ?00:00:00 ora_pmon_orcl00:00:00 ora_psp0_orcloracleupdba $注意 ora_的字符表示數(shù)

8、據(jù)庫已經(jīng)啟動。比如查視圖oracleupdba $ sqlplus / as sysdba SQL select open_mode from v$database; OPEN_MODEREAD WRITESQL看到結果是 READ WRITE 表示數(shù)據(jù)庫已經(jīng)啟動。如果你用了啟動的話則可以oracleupdba $ /etc/init.d/oracle sus instance orcl is runging.有結果輸出則啟動,沒有結果輸出則沒有啟動注意該在中2.如何確定數(shù)據(jù)庫的實例名字可以看進程 ora_的”_”最后的字符得到,比如: oracleupdba $ ps -ef|grep or

9、a_|grep -v grep|cut -d _ -f3|uniq orcloracleupdba $ 這里的實例名字就是 orcl可以查視圖得到,比如:oracleupdba $ sqlplus / as sysdba SQL select instance_name from v$instance; INSTANCE_NAMEorcl輸出結果 orcl 就是實例名字也可以看參數(shù) instance_name 的結果,比如:SQL showparameter instance_nameNAMETYPEVALUEinstance_name SQLValue 對應的結果 orcl 就是實例名字st

10、ringorcl或SQL col name for a30 SQL col value for a20SQL select name,value from v$parameter where name=instance_name;NAMEVALUEinstance_nameorclSQLValue 對應的結果 orcl 就是實例名字3.如何指定 ORACLE_SID 變量當你知道系統(tǒng)上的實例名字后,就可以指定 ORACLE_SID 的值為實例的名字即可。比如的實例是 orcl,則oracleupdba $ exportORACLE_SID=orcl oracleupdba $ sqlplus

11、/ as sysdba登陸將到 orcl 實例oracleupdba $ exportORACLE_SID=fowayoracleupdba $ sqlplus / as sysdba登陸將到 foway 實例這樣在同一個系統(tǒng)上可以在不同的實例之間互相切換。如果默認orcl 實例則修改oracle/.bash_profile 中的export ORACLE_SID=orcl即可只要登陸到 oracle 用戶,執(zhí)行 sqlplus “/as sysdba” 默認將到 orcl 實例實例-實例是內(nèi)存結構和進程結構組成,實例是注意:數(shù)據(jù)庫的一種實現(xiàn)方式。在 oracle 服務器上,大多數(shù)操作都是在實

12、例中完成的。 實例在參數(shù)中可定義名字。 實例在linux/unix 系統(tǒng)中是區(qū)分大小寫的。 通常情況下實例名字與庫名是相同的。4.sqlplus 如何連接到數(shù)據(jù)庫要連接到一個數(shù)據(jù)庫有很多種辦法。比如本地:oracleupdba $ ps -ef|grep ora_|grep -v grep |cut -d _ -f3|uniq orcloracleupdba $ exportORACLE_SID=orcloracleupdba $ sqlplus / as sysdba管理員 sysdba本地登陸oracleupdba $ sqlplus scott/tiger普通用戶本地登陸比如網(wǎng)絡:ora

13、cleupdba $ tnsorclTNSUtility for Linux: Ver.0 - Production on 30-9 月 -2010 23:58:56Copyright (c) 1997,2010, Oracle.s.已使用的參數(shù)文件:已使用 TNSNAMES 適配器來別名Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =TCP)(HOST = u= orcl)OK (20 毫秒)oracleupdba $)(PORT = 1521) (CONNECT_DATA = (SERVI

14、CE_NAME如果看到 OK 字樣則說明 Oracle 網(wǎng)絡正常,可以網(wǎng)絡連接oracleupdba $ sqlplussys/oracleorcl as sysdba管理員 sysdba網(wǎng)絡登陸oracleupdba $ sqlplus scott/tigerorcl普通用戶網(wǎng)絡登陸或管理員 sysdba網(wǎng)絡登陸oracleupdba $ sqlplussys/oracleu:1521/orcl as sysdba普通用戶網(wǎng)絡登陸oracleupdba $ sqlplus scott/tigeru:1521/orcl管理員 sysdba網(wǎng)絡登陸oracleupdba $ sqlplussys

15、/oracle5:1521/orcl as sysdba普通用戶網(wǎng)絡登陸oracleupdba $ sqlplus scott/tiger5:1521/orcl當然也可以這樣網(wǎng)絡登陸的:oracleupdba $ sqlplus scott/tiger”(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST=5)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)”注意如果指定orcl 則需要在執(zhí)行sqlplus 命令的機器上配置tnsnames.ora 定義orcl 連接字符串;如果指定ip

16、:port/orcl 則需要在 ip 所在服務器上配置 listener.ora 定義數(shù)據(jù)庫 orcl 配置5.如何在 sqlplus 環(huán)境中切換用戶oracleupdba $ sqlplus /nolog uniread Loaded history (48 lines)SQL*Plus: Release .0 - Production on五 10 月 1 08:14:10 2010Copyright (c) 1982, 2010, Oracle.s.SQL conn /as sysdba已連接。管理員連接默認的實例,這個默認的實例是$ORACLE_SID 指定的。SQL connsys/

17、oracleorclas sysdba已連接。管理員通過 oracle 網(wǎng)絡連接到指定的實例,orcl 中的 orcl 是本機 oracle 網(wǎng)絡配置中指定的。該網(wǎng)絡配置文件位于$ORACLE_HOME/network/admnsnames.ora.到底連接到哪個實例是在 tnsnames.ora 中定義的 oracle 服務器所對應的網(wǎng)絡配置文件定義的。SQL conn sys/oracle5:1521/orclas sysdba已連接。管理員通過TCP 網(wǎng)絡協(xié)議連接到指定的實例,/orcl 中的orcl 是5 中的oracle網(wǎng)絡配置中指定的。該網(wǎng)絡配置文件位于$ORACLE_HOME/n

18、etwork/admin/listener.oraSQL alter user scott identified by tiger account unlock;用戶已更改。修改 scott 用戶為 tiger,并把帳號。 默認該帳號是鎖定的。關于 scott 用戶:使用 oracle 自帶的模板建立的數(shù)據(jù)庫中默認都有 scott 這個用戶的,scott是 oracle 公司的一個很重要的開發(fā),oracle 成立之初他是員工為 4 的員工,承擔了絕大部分的前期 oracle 產(chǎn)品代碼的編寫工作。比如 v1,v2,v3 版本都是他完成架構設計和代碼編寫的。后來 scott 離開了 oracle

19、公司。由于他長期致力于 oracle 數(shù)據(jù)庫,幾乎沒時間陪他可愛的女兒,名叫 tiger 的寵物貓就代替了他陪伴女兒。為此特將 scott以表示對女兒的歉意,也是 oracle 對 scott 功勞的肯定與留念。 SQL conn scott/tiger已連接。連接本機默認的實例到 scott 用戶SQL conn scott/tigerorcl已連接。默認設置為 tiger連接本機網(wǎng)絡配置文件 tnsnames.ora 定義的連接字符串 orcl 定義的實例中的 scott 用戶SQL conn scott/tiger5:1521/orcl已連接。連接 5:1521 端口所在的 oracle

20、 服務器的連接字符串 orcl 定義的實例中的 scott用戶注意:conn 是 connect 的簡寫。 用來在 sqlplus 中連接指定用戶用的。6.如何確認目前連接的是那個用戶 oracleupdba $ sqlplus /nolog SQL show user;USER 為 表示沒有連接到任何用戶SQL conn scott/tiger已連接。SQL show user; USER 為 SCOTT連接用戶為 scottSQL conn / as sysdba已連接。SQL show user; USER 為 SYS連接用戶為 sys 并且是超級管理員SQL conn / as sys

21、oper已連接。SQL show user; USER 為 PUBLIC連接用戶為 public 并且是管理員當然你也可以如下查看得到:SQL conn/as sysdba已連接。SQL select username from v$ses USERNAMEwheresid=(select sid from v$myswhere rownum=1);SYS當前連接的是 sys 用戶,注意這里的 v$視圖是 sys 用戶所擁有,默認只能 sys 用戶能,如果你想非 sys 用戶能,則授予 select_catalog_role 的權限。比如SQL grant select_catalog_rol

22、e to scott;成功。SQL conn scott/tiger已連接。SQL select username from v$sesUSERNAMEwheresid=(select sid from v$myswhere rownum=1);SCOTT連接用戶為 scott SQL7.如何知道用戶下有那些表當工作。知道如何連接到數(shù)據(jù)庫后,就想知道用戶下有那些表等對象信息,以便進一步查詢用戶下有那些表可以通過查詢 tab 同義詞,user_tables 視圖等得到SQL conn scott/tiger已連接。SQL select * from tab;TNAMETABTYPECLUSTER

23、IDDEPT EMP BONUSSALGRADETABLE TABLE TABLETABLESQL select table_name from user_tables;TABLE_NAMEDEPTEMP BONUSSALGRADE這樣就知道自己用戶下有那些表了。如果是管理員如何知道 scott 有那些表呢?通過 dba_tables 視圖查詢即SQL conn / as sysdba已連接。SQL select owner,table_name from dba_tables where owner=upper(scott);到:OWNERTABLE_NAMESCOTT SCOTT SCOT

24、TSCOTTDEPT EMP BONUSSALGRADE注意:在 oracle 數(shù)據(jù)庫中,表是一種對象,也有人叫其為對象表。對象 object對象還包括視圖,索引,函數(shù),程等用戶下能存放的任何的邏輯結構如果一個用戶下有了對象就叫方案 schema. 這個 schema 的名字與用戶名是相同的。在 oracle 數(shù)據(jù)庫中對象名字,用戶名字,方案的名字等處理默認為大寫的。比如執(zhí)行 conn scott/tiger 實際是 conn SCOTT/TIGERSQL conn scott/tiger已連接。SQL conn SCOTT/TIGER已連接。SQL conn scott/tiger ERRO

25、R:ORA-01017: 用戶名/口令無效; 登錄被警告: 您不再連接到 ORACLE。-因為”scott” 表示小寫的scott 字符,沒有加”的 scott 默認為大寫的 SCOTT,而數(shù)據(jù)庫的為大寫 SCOTT,所以找不到小寫的 scott報錯8.如何查看表的結構,比如列名,數(shù)據(jù)類型,長度等當知道如何查詢用戶具備那些表后,就需要了解表的結構信息。那么可以很簡單的描述表結構即可。比如oracleupdba $ sqlplus /nolog uniread Loaded history (129 lines)SQL*Plus: Release .0 - Production on五 10 月

26、 1 10:24:08 2010Copyright (c) 1982, 2010, Oracle.s.SQL conn scott/tiger已連接。SQL select table_name from user_tables;TABLE_NAMEDEPT EMP BONUSSALGRADESQL desc dept;名稱是否為空? 類型DEPTNO DNAMELOCNOT NULL NUMBER(2)VARCHAR2(14) VARCHAR2(13)desc dept 可以明白 dept 表的結構明白表結構對一個 DBA 來說。比如比如查詢表下指定列就需要知道表有那些列。對表的字符或日期類型

27、的列做限制則需要加并且區(qū)分大小寫SQL select * from dept;DEPTNO DNAMELOC10 ACCOUNTING20 RESEARCH30 SALES40 OPERATIONSNEW YORK DALLASCHICAGOTONSQL select deptno,dname from dept;DEPTNO DNAME10 ACCOUNTING20 RESEARCH30 SALES40 OPERATIONSSQL select deptno,dname from dept where deptno=10 ;DEPTNO DNAME10 ACCOUNTINGSQL selec

28、t deptno,dname from dept where dname=SALES ;DEPTNO DNAME30 SALESSQL inserto dept values(50,TECH,CHENGDU);已創(chuàng)建 1 行。9.用戶如何查看表的行內(nèi)容要得到表行,使用 select 語句,基本語法如下:SELECT *|DISTINCT column|expresalias,. FROM table;Selectfrom 是關鍵子*表示所有列Column 表示指定列名,如果有多個,分割開Distinct column 去初重復行Expres表達式Alias 表示定義別名Table 表示數(shù)據(jù)來自

29、哪個表或視圖10.sql 語句書寫標準不區(qū)分大小寫但單引號,雙引號之內(nèi)的區(qū)分大小寫可分行書寫,當關鍵字不能分行可排版,可注釋增加可讀性通常關鍵字大寫,其他小寫使用 ; 結束語句或 提行/ 結束語句比如:SQL conn scott/tiger已連接。SQL select dname from dept;DNAMETECH ACCOUNTING RESEARCH SALESOPERATIONSSQL select dname2from dept;DNAMETECH ACCOUNTING RESEARCH SALESOPERATIONSSQL SELECT dname2FROM dept;DNAM

30、ETECH ACCOUNTING RESEARCH SALESOPERATIONSSQL select deptno,23fromdnamedept;DEPTNO DNAME50 TECH10 ACCOUNTING20 RESEARCH30 SALES40 OPERATIONSSQL select dname from dept-查詢部門 ;DNAMETECH ACCOUNTING RESEARCH SALESOPERATIONSSQL select * from dept where dname=SALES;DEPTNO DNAMELOC30 SALESCHICAGOSQL select *

31、 from dept where dname=sales;未選定行SQL select * from dept;DEPTNO DNAMELOC50 TECH10 ACCOUNTING20 RESEARCH30 SALES40 OPERATIONSCHENGDU NEW YORK DALLASCHICAGOTONSQL select * from dept2/DEPTNO DNAMELOC50 TECH10 ACCOUNTING20 RESEARCH30 SALES40 OPERATIONSCHENGDU NEW YORK DALLASCHICAGOTONSQL11.sql 語句的算術表達式在

32、sql 語句中可以使用+ - * /算術表達式,( )可改變默認的運算規(guī)則不能對 null 進行算術運算,否則為 null.如果一定要運算則采用 null 函數(shù)比如 nvl 處理比如:顯示員工的名字,月薪,年薪SQL select ename,sal,sal*12 from emp;顯示員工的名字,月薪,上漲 500 后月薪SQL select ename,sal,sal+500 from emp;顯示員工的名字,月薪,獎金,月總收入SQL selectm,sal+nvl(comm,0) from emp;由于 comm 有些為 null,不能算術運算,所以用 nvl 函數(shù)處理nvl(comm

33、,0)如果 comm 為 null 則賦值 0,否則顯示實際的值顯示員工的名字,年薪,月上漲 500 后年薪SQL select ename,sal*12,(sal+500)*12 from emp;12.如何使用別名別名用途主要有:區(qū)分同名列,按照你要求顯示列標題,表達式合法化使用別名: 直接寫在 列后用 空格分割開,可以用 as 增強可讀性,通常使用” “引起來比如顯示員工的名字,年薪,年薪標題為 annual salarySQL select ename,sal*21 annual salary from emp; SQL select ename,sal*21 asannual sal

34、ary from emp;的合法化SQL conn/as sysdbaSQL grant create view to scott; SQL conn scott/tigerSQL create or replace view vsal aect ename,sal*12from emp;create or replace view vsal aect ename,sal*12from emp*第 1 行出現(xiàn)錯誤:ORA-00998: 必須使用列別名命名此表達式SQL create or replace view vsal aect ename,sal*12 asalfrom emp;視圖已創(chuàng)

35、建。比如顯示員工上下級關系,區(qū)分同名列這個中 ename 有兩個,不好區(qū)分哪個是別名可區(qū)分還是下級13.如何使用連接運算符,字面字符串 q連接字符串| 可以把需要字符連接成新字符,連接字符操作中的字符用單引號,如果要連接單引號則使用成套的單引號,或 q 操作符轉義q字符比如SQL select ename,job from emp where deptno=10;ENAMEJOB- -CLARK KING MILLER想得到如下的結果輸出:MANAGERCLERKCLARKis workMANAGER可以用|運算符得到:SQL select ename| is work |job from e

36、mp where deptno=10;ENAME|ISWORK|JOB-CLARK is work MANAGER KING is workMILLER is work CLERK當然使用連接函數(shù) concat 也可以得到同樣的結果SQL select concat(concat(ename, is work ),job) from emp where deptno=10;CONCAT(CONCAT(ENAME,ISWORK),JOB)-CLARK is work MANAGER KING is workMILLER is work CLERKSQL select ename,job from

37、emp where deptno=10;ENAMEJOB- -CLARK KINGMILLERMANAGERCLERK如果要顯示:CLARKs job is MANAGER要表示則或 q 操作符SQL select ename|s job is |job fromemp where deptno=10;ENAME|SJOBIS|JOB-CLARKs job is MANAGER KINGs job isMILLERs job is CLERK或SQL select ename|qs job is |job fromemp where deptno=10;ENAME|QSJOBIS|JOB-CL

38、ARKs job is MANAGER KINGs job isMILLERs job is CLERK其中 qs job is 里面的可以替換成其他字符的 比如 qqas job is a14.如何去除重復行在一個表里面某個字段存在相同的值。如果你要得到唯一值需要 distinct 或 unique 函數(shù)處理使用辦法:distinct column或 distinct(column)或 unique column或 unique(column)比如 顯示公司里面的員工SQL select distinct(mgr) from emp;或SQL select distinctmgr from

39、emp;或SQL select unique(mgr) from emp;或SQL select uniquemgr from emp;在 oracle 系統(tǒng) 中 distinct 和 unique 互為同義詞。15.sql 常見命令APPEND 追加內(nèi)容到行末比如語法APPEND textCHANGE更改第一次出現(xiàn)的指定字符為新字符語法 CHANGE sepchar old sepchar newsepchar比如INPUT新起一行追加內(nèi)容 語法 INPUT text比如LIST列出 buffer 中的語句 語法LIST n | n m | n* | n LAST | * | * n | *

40、 LAST | LAST比如 list 2 指定顯示第行 也可指定使用 2 不輸入 list list 2 5顯示第 2 到第 5 行l(wèi)ist 2 last 顯示第行到最后行l(wèi)ist last 最后那行DEL 刪除指定行 語法DEL n | n m | n * | n LAST | * | * n | * LAST | LAST使用方法同 listCLEAR BUFFER清楚 buffer 中語句CL SCR清屏,回到屏幕最頂端SAVE保存 buffer 中 sql 到文件語法SAVE FILE file_name.ext CREATE | REPLACE | APPENDGET獲取文件到 b

41、uffer 語法GET FILE file_name.ext LIST | NOLISTRUN/執(zhí)行 buffer 中語句START/執(zhí)行語法START url|file_name.ext arg . url|file_name.ext arg .EDIT編輯為其他編輯器如 vi語法 默認 linux 采用 ed 編輯器,可通過 define_editor=vi 命令修改EDIT file_name.extSPOOL 保存屏幕內(nèi)容到文件 語法SPOOL file_name.ext CREATE | REPLACE | APPEND | OFF | OUTHOST! 調(diào)用操作系統(tǒng)命令語法 HOS

42、T ! ddCOLUMNJUSTIFY LEFT | CENTER | RIGHT格式化列顯示 語法COLUMN column | expr option . Option 可跟如下操作ALIAS alias CLEARENTMAP ON|OFF FOLD_AFTER FOLD_BEFOREFORMAT format HEADING textJUSTIFY LEFT | CENTER | RIGHTLIKE expr | alias NEWLINENEW_VALUE variableNOPR | PRNULL text OLD_VALUE variable ON|OFFWRAPPED | WO

43、RD_WRAPPED | TRUNCATED比如:修改列長度顯示 COL columnFORMAT format可看到 dname 列長度修改為 30 個字符長度修改列名為指定列名colcolumnheadingnew_name可以看到 loc 列顯示為 location修改列顯示主副標題 col column heading master_heading|slave_heading可以看到 dname 列顯示為主標題 Department 副標題 Name修改默認列顯示對齊:col column jus c col column jus lcol column jus r居中居左居右可以看到

44、 SAL 列名居中顯示默認列顯示:數(shù)字類型右邊,字符日期等在左邊某列顯示 colcolumn nopri取消col column pri數(shù)字轉字符 colcolumn for format對數(shù)字支持的符號 常用的有 0,9,$,L/l,G/g,D/d 以及千分符號和小數(shù)點0 匹配數(shù)字的個數(shù),顯示指定長度,如果位數(shù)用 0 補9 匹配數(shù)字的個數(shù), 顯示實際長度$ 美圓符號L/l 本地貨幣符號 G/g/, 千分符號 D/d/.小數(shù)點支持的其他符號看 SQL*Plus Users Guide and Reference 手冊對 null 值處理 col column nulltext列的切取與回繞 c

45、ol column wracol column wor col column tru按照指定字符長度切取分行顯示按照單詞切取分行顯示只顯示切取的指定長度字符查看列的定義 col column取消列的定義 col column cle取消所有列定義 cle columns啟動列定義 col column on禁用列定義 col column off指定列分行顯示col column newl令看產(chǎn)品手冊文檔的:SQL*Plus Users Guide and Reference16.isql*plus 使用從oracle9i開始,oracle提供了web方式的sqlplus界面,通過isqlpl

46、us,用戶可以不需要安裝任何oracle客戶端,就能夠通過瀏覽器方式的sqlplus進行數(shù)據(jù)操作與數(shù)據(jù)庫管理。普通的數(shù)據(jù)庫用戶可以直接通過isqlplus的登陸,進入該后會直接進入數(shù)據(jù)庫用戶登陸界面,使用數(shù)據(jù)庫中的普通用戶即可登陸;但如果是DBA用戶登陸isqlpus,則需要首先配置isqlplus dba的用戶和口令,然后輸入,進入該后首先會彈出一個登陸框,要求先輸入iSQL*Plus DBA的用戶和,注意這里不是數(shù)據(jù)庫用戶,而是isqlplus應用服務器要求的用戶和,也就是前面配置的isqlplus dba的用戶名和口令,然后才能出現(xiàn)isqlplus登陸界面,此時可以輸入sys或者syst

47、em用戶,登陸數(shù)據(jù)庫進行管理。要以DBA登陸isqlplus,必須先配置好oc4j用戶。oc4j可以使用兩種認證方式:基于xml配置文件(jazn-data.xml) 或者基于LDAP(Oracleernet Directory) 。通常采用xml配置文件認證的方式較多,這種方式使用的該配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config,但是該配置文件中的是加密過的,所以無法手動修改該文件,配置用戶需要通過JAZN(JavaAuthoriZatioN)來配置,JAZN是oracle提供的一個

48、JASS(Java Authentication and AuthorizationService)工具。通過JAZN,可以完成以下任務:Create user / List user / Grant the webDba role / Remove users /Revoke the webDba role / Change usasswords上述任務既可以先進入JAZN命令環(huán)境后再執(zhí)行,也可以直接直接在命令行中實現(xiàn)。Isql*plus 是基于瀏覽器的一種 b/s 結構的應用程序。通過他可以直接執(zhí)行使用辦法如下:的 sql 語句。oracleupdba $ isqlplusctl stop

49、 oracleupdba $ isqlplusctlstart端口可以在 portlist.ini 文件中找到停止 isql*plus啟動 isql*plusoracleupdba $ grSQL $ORACLE_HOME/install/portlist.iniiSQL*Plus HTTP port number =5560oracleupdba $Username 那輸入普通用戶的名字 比如 scott Password輸入Connect identifier 輸入網(wǎng)絡連接字符,通常輸入實例名字 比如 orcl點 login 即可登陸 然后使用這個 web 工具了這些功能菜單一看就明白,就

50、不用我演示了。關于 DBA 用戶登陸 isql*plus為了使某個用戶以 SYSDBA 或 SYSOPER OC4J 用戶管理器中設置該用戶:創(chuàng)建一個用戶給該用戶授予 webDba 角色$ cd $ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus$JAVA_HOME/bin/java -perties=登錄 iSQL*Plus,必須通過執(zhí)行以下步驟在$ORACLE_HOME/oc4j/j2ee/home/config/ps -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user

51、 iSQL*Plus DBA/admin -passworde -sJAZN adduser iSQL*Plus DBA username passwordJAZN grantrole webDba iSQL*Plus DBA usernameOracle 10g 上配置 isqlplus dba 的方法,注意 unix 和 windows 上稍有不同。unix:$ isqlplusctl stop$ JAVA_HOME=$ORACLE_HOME/jdk$ export JAVA_HOME$ cd $ORACLE_HOME/oc4j/j2ee/isqlplus/application-depl

52、oyments/isqlplus$ $JAVA_HOME/bin/java-Dperties=$ORACLE_HOME/oc4j/j2ee/home/config/ps -jar$ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user iSQL*Plus DBA/admin -passworde sJAZN: adduser iSQL*Plus DBA updba fowayJAZN: grantrole webDba iSQL*Plus DBA updbaJAZN: exit$ isqlplusctl startwindows:set ORACLE_HOME=.s

53、et JAVA_HOME=%ORACLE_HOME%/jdkcd %ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus%JAVA_HOME%/bin/javaDperties=%ORACLE_HOME%/oc4j/j2ee/home/config/ps -jar%ORACLE_HOME%/oc4j/j2ee/home/jazn.jar -user iSQL*Plus DBA/admin -passworde s注意:1、admin 雖然是默認的管理員,但初始并沒有真正被2、必須在$ORACLE_HOME/oc4j/j

54、2ee/isqlplus/application-deployments/isqlplus 目錄中執(zhí)行命令,否則會出現(xiàn)下面的錯誤:oracle.security.jazn.JAZNRuntimeException: Configuration file configjazn.xml does not exist.Check your JAAS configuration settings.或者Realm iSQL*Plus DBA does not exist in system.3、在 windows 中注意目錄的書寫,不能使用,而要像 unix 一樣使用/4、iSQL*Plus DBA 的默認管理員 admin 的默認口令是 口令e,為了安全起見,最好修改比如:oracleupdba $ cat /tmp/add.sh isqlplusctl stopexport JAVA_HOME=$ORACLE_HOME/jdkcd $ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論