




已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ORACLE常用指令ORACLE常用指令一.數(shù)據(jù)控制語(yǔ)句 (DML) 部分 1.INSERT(往數(shù)據(jù)表里插入記錄的語(yǔ)句) INSERT INTO 表名(字段名1, 字段名2, ) valueS ( 值1, 值2, );INSERT INTO 表名(字段名1, 字段名2, ) SELECT (字段名1, 字段名2, ) FROM 另外的表名; 字符串類型的字段值必須用單引號(hào)括起來(lái), 例如: GOOD DAY 如果字段值里包含單引號(hào)需要進(jìn)行字符串轉(zhuǎn)換, 我們把它替換成兩個(gè)單引號(hào). 字符串類型的字段值超過(guò)定義的長(zhǎng)度會(huì)出錯(cuò), 最好在插入前進(jìn)行長(zhǎng)度校驗(yàn). 日期字段的字段值可以用當(dāng)前數(shù)據(jù)庫(kù)的系統(tǒng)時(shí)間SYSDATE, 精確到秒 或者用字符串轉(zhuǎn)換成日期型函數(shù)TO_DATE(2001-08-01,YYYY-MM-DD) TO_DATE()還有很多種日期格式, 可以參看ORACLE DOC. 年-月-日 小時(shí):分鐘:秒 的格式Y(jié)YYY-MM-DD HH24:MI:SS INSERT時(shí)最大可操作的字符串長(zhǎng)度小于等于4000個(gè)單字節(jié), 如果要插入更長(zhǎng)的字符串, 請(qǐng)考慮字段用CLOB類型, 方法借用ORACLE里自帶的DBMS_LOB程序包. INSERT時(shí)如果要用到從1開始自動(dòng)增長(zhǎng)的序列號(hào), 應(yīng)該先建立一個(gè)序列號(hào)CREATE SEQUENCE 序列號(hào)的名稱 (最好是表名+序列號(hào)標(biāo)記) INCREMENT BY 1 START WITH 1 MAXvalue 99999 CYCLE NOCACHE;其中最大的值按字段的長(zhǎng)度來(lái)定, 如果定義的自動(dòng)增長(zhǎng)的序列號(hào) NUMBER(6) , 最大值為999999INSERT 語(yǔ)句插入這個(gè)字段值為: 序列號(hào)的名稱.NEXTVAL 2.DELETE(刪除數(shù)據(jù)表里記錄的語(yǔ)句) DELETE FROM表名 WHERE 條件; 注意:刪除記錄并不能釋放ORACLE里被占用的數(shù)據(jù)塊表空間. 它只把那些被刪除的數(shù)據(jù)塊標(biāo)成unused. 如果確實(shí)要?jiǎng)h除一個(gè)大表里的全部記錄, 可以用 TRUNCATE 命令, 它可以釋放占用的數(shù)據(jù)塊表空間TRUNCATE TABLE 表名;此操作不可回退. 3.UPDATE (修改數(shù)據(jù)表里記錄的語(yǔ)句) UPDATE表名 SET 字段名1=值1, 字段名2=值2, WHERE 條件; 如果修改的值N沒(méi)有賦值或定義時(shí), 將把原來(lái)的記錄內(nèi)容清為NULL, 最好在修改前進(jìn)行非空校驗(yàn);值N超過(guò)定義的長(zhǎng)度會(huì)出錯(cuò), 最好在插入前進(jìn)行長(zhǎng)度校驗(yàn). 注意事項(xiàng): A. 以上SQL語(yǔ)句對(duì)表都加上了行級(jí)鎖, 確認(rèn)完成后, 必須加上事物處理結(jié)束的命令 COMMIT 才能正式生效, 否則改變不一定寫入數(shù)據(jù)庫(kù)里. 如果想撤回這些操作, 可以用命令 ROLLBACK 復(fù)原. B. 在運(yùn)行INSERT, DELETE 和 UPDATE 語(yǔ)句前最好估算一下可能操作的記錄范圍, 應(yīng)該把它限定在較小 (一萬(wàn)條記錄) 范圍內(nèi),. 否則ORACLE處理這個(gè)事物用到很大的回退段. 程序響應(yīng)慢甚至失去響應(yīng). 如果記錄數(shù)上十萬(wàn)以上這些操作, 可以把這些SQL語(yǔ)句分段分次完成, 其間加上COMMIT 確認(rèn)事物處理. 二.數(shù)據(jù)定義 (DDL) 部分 1.CREATE (創(chuàng)建表, 索引, 視圖, 同義詞, 過(guò)程, 函數(shù), 數(shù)據(jù)庫(kù)鏈接等) ORACLE常用的字段類型有 CHAR 固定長(zhǎng)度的字符串 VARCHAR2 可變長(zhǎng)度的字符串 NUMBER(M,N) 數(shù)字型M是位數(shù)總長(zhǎng)度, N是小數(shù)的長(zhǎng)度 DATE 日期類型 創(chuàng)建表時(shí)要把較小的不為空的字段放在前面, 可能為空的字段放在后面 創(chuàng)建表時(shí)可以用中文的字段名, 但最好還是用英文的字段名 創(chuàng)建表時(shí)可以給字段加上默認(rèn)值, 例如 這樣每次插入和修改時(shí), 不用程序操作這個(gè)字段都能得到動(dòng)作的時(shí)間 創(chuàng)建表時(shí)可以給字段加上約束條件 例如 不允許重復(fù) UNIQUE, 關(guān)鍵字 PRIMARY KEY 2.ALTER (改變表, 索引, 視圖等) 改變表的名稱 ALTER TABLE 表名1 TO 表名2; 在表的后面增加一個(gè)字段 ALTER TABLE表名 ADD 字段名 字段名描述; 修改表里字段的定義描述 ALTER TABLE表名 MODIFY字段名 字段名描述; 給表里的字段加上約束條件 ALTER TABLE 表名 ADD CONSTRAINT 約束名 PRIMARY KEY (字段名); ALTER TABLE 表名 ADD CONSTRAINT 約束名 UNIQUE (字段名); 把表放在或取出數(shù)據(jù)庫(kù)的內(nèi)存區(qū) ALTER TABLE 表名 CACHE; ALTER TABLE 表名 NOCACHE; 3.DROP (刪除表, 索引, 視圖, 同義詞, 過(guò)程, 函數(shù), 數(shù)據(jù)庫(kù)鏈接等) 刪除表和它所有的約束條件 DROP TABLE 表名 CASCADE CONSTRAINTS; 4.TRUNCATE (清空表里的所有記錄, 保留表的結(jié)構(gòu)) TRUNCATE 表名; 三.查詢語(yǔ)句 (SELECT) 部分 SELECT字段名1, 字段名2, FROM 表名1, 表名2, WHERE 條件; 字段名可以帶入函數(shù) 例如: COUNT(*), MIN(字段名), MAX(字段名), AVG(字段名), DISTINCT(字段名), TO_CHAR(DATE字段名,YYYY-MM-DD HH24:MI:SS) NVL(EXPR1, EXPR2)函數(shù) 解釋: IF EXPR1=NULL RETURN EXPR2 ELSE RETURN EXPR1 DECODE(AAV1R1V2R2.)函數(shù) 解釋: IF AA=V1 THEN RETURN R1 IF AA=V2 THEN RETURN R2 . ELSE RETURN NULL LPAD(char1,n,char2)函數(shù) 解釋: 字符char1按制定的位數(shù)n顯示,不足的位數(shù)用char2字符串替換左邊的空位 字段名之間可以進(jìn)行算術(shù)運(yùn)算 例如: (字段名1*字段名1)/3 查詢語(yǔ)句可以嵌套 例如: SELECT FROM (SELECT FROM表名1, 表名2, WHERE 條件) WHERE 條件2; 兩個(gè)查詢語(yǔ)句的結(jié)果可以做集合操作 例如: 并集UNION(去掉重復(fù)記錄), 并集UNION ALL(不去掉重復(fù)記錄), 差集MINUS, 交集INTERSECT 分組查詢 SELECT字段名1, 字段名2, FROM 表名1, 表名2, GROUP BY字段名1 HAVING 條件 ; 兩個(gè)以上表之間的連接查詢 SELECT字段名1, 字段名2, FROM 表名1, 表名2, WHERE 表名1.字段名 = 表名2. 字段名 AND ; SELECT字段名1, 字段名2, FROM 表名1, 表名2, WHERE 表名1.字段名 = 表名2. 字段名(+) AND ; 有(+)號(hào)的字段位置自動(dòng)補(bǔ)空值 查詢結(jié)果集的排序操作, 默認(rèn)的排序是升序ASC, 降序是DESC SELECT字段名1, 字段名2, FROM 表名1, 表名2, ORDER BY字段名1, 字段名2 DESC; 字符串模糊比較的方法 INSTR(字段名,字符串)0 字段名 LIKE 字符串% %字符串% 每個(gè)表都有一個(gè)隱含的字段ROWID, 它標(biāo)記著記錄的唯一性. 四.ORACLE里常用的數(shù)據(jù)對(duì)象 (SCHEMA) 1.索引 (INDEX) CREATE INDEX 索引名ON 表名 ( 字段1, 字段2, ); ALTER INDEX 索引名 REBUILD; 一個(gè)表的索引最好不要超過(guò)三個(gè) (特殊的大表除外), 最好用單字段索引, 結(jié)合SQL語(yǔ)句的分析執(zhí)行情況, 也可以建立多字段的組合索引和基于函數(shù)的索引 ORACLE8.1.7字符串可以索引的最大長(zhǎng)度為1578 單字節(jié) ORACLE8.0.6字符串可以索引的最大長(zhǎng)度為758 單字節(jié) 2.視圖 (VIEW) CREATE VIEW 視圖名AS SELECT . FROM .; ALTER VIEW視圖名 COMPILE; 視圖僅是一個(gè)SQL查詢語(yǔ)句, 它可以把表之間復(fù)雜的關(guān)系簡(jiǎn)潔化. 3.同義詞 (SYNONMY) CREATE SYNONYM同義詞名FOR 表名; CREATE SYNONYM同義詞名FOR 表名數(shù)據(jù)庫(kù)鏈接名; 4.數(shù)據(jù)庫(kù)鏈接 (DATABASE LINK) CREATE DATABASE LINK數(shù)據(jù)庫(kù)鏈接名CONNECT TO 用戶名 IDENTIFIED BY 密碼 USING 數(shù)據(jù)庫(kù)連接字符串; 數(shù)據(jù)庫(kù)連接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定義. 數(shù)據(jù)庫(kù)參數(shù)global_name=true時(shí)要求數(shù)據(jù)庫(kù)鏈接名稱跟遠(yuǎn)端數(shù)據(jù)庫(kù)名稱一樣 數(shù)據(jù)庫(kù)全局名稱可以用以下命令查出 SELECT * FROM GLOBAL_NAME; 查詢遠(yuǎn)端數(shù)據(jù)庫(kù)里的表 SELECT FROM 表名數(shù)據(jù)庫(kù)鏈接名; 五.權(quán)限管理 (DCL) 語(yǔ)句 1.GRANT 賦于權(quán)限 常用的系統(tǒng)權(quán)限集合有以下三個(gè): CONNECT(基本的連接), RESOURCE(程序開發(fā)), DBA(數(shù)據(jù)庫(kù)管理)常用的數(shù)據(jù)對(duì)象權(quán)限有以下五個(gè): ALL ON 數(shù)據(jù)對(duì)象名, SELECT ON 數(shù)據(jù)對(duì)象名, UPDATE ON 數(shù)據(jù)對(duì)象名, DELETE ON 數(shù)據(jù)對(duì)象名, INSERT ON 數(shù)據(jù)對(duì)象名, ALTER ON 數(shù)據(jù)對(duì)象名 GRANT CONNECT, RESOURCE TO 用戶名; GRANT SELECT ON 表名 TO 用戶名; GRANT SELECT, INSERT, DELETE ON表名 TO 用戶名1, 用戶名2; 2.REVOKE 回收權(quán)限 REVOKE CONNECT, RESOURCE FROM 用戶名; REVOKE SELECT ON 表名 FROM 用戶名; REVOKE SELECT, INSERT, DELETE ON表名 FROM 用戶名1, 用戶名2; 一、數(shù)據(jù)字典所有用戶構(gòu)架對(duì)象的定義(表、索引、視圖、同義詞、觸發(fā)器、存儲(chǔ)過(guò)程、序列、函數(shù))SELECT object_name, object_type FROM dba_objects;所有用戶構(gòu)架對(duì)象所取用過(guò)的或正在使用的空間大小(表、存儲(chǔ)過(guò)程、函數(shù))SELECT name, type, source_size, code_size FROM user_object_size;字段的默認(rèn)值SELECT table_name, column_name, data_default, low_value, high_value FROM dba_tab_columns;數(shù)據(jù)完整性強(qiáng)制約束(Constraints)的信息SELECT constraint_name, constraint_type, table_name FROM dba_constraints;Oracle數(shù)據(jù)庫(kù)用戶的登入名稱、操作系統(tǒng)用戶名、機(jī)器名SELECT schemaname, osuser, machine, username FROM v$session;每一個(gè)用戶所授與的權(quán)限和角色(select、insert、update、execute)SELECT table_name, privilege, grantor FROM dba_tab_privs;審核用信息(如:誰(shuí)曾經(jīng)存取過(guò)或更新過(guò)那些用戶構(gòu)架對(duì)象)SELECT username, obj_name, action_name FROM dba_audit_object;其它一般的數(shù)據(jù)庫(kù)信息(表空間、文件)SELECT tablespace_name, file_name, bytes, blocks FROM dba_data_files;建立數(shù)據(jù)表空間CREATE TABLESPACE tablespace_name DATAFILE filename SIZE nMDEFAULT STORAGE( INITIAL nKNEXT nKMINEXTENTS nMAXEXTENTS nPCTINCREASE n)ONLINEOFFLINEPERMANENTTEMPORARY; CREATE TABLESPACE 新增/建立數(shù)據(jù)表空間命令tablespace_name 所要建立的數(shù)據(jù)表空間名稱DATAFILE 指定數(shù)據(jù)文件命令filename 數(shù)據(jù)文件路徑和名稱SIZE 指定數(shù)據(jù)文件大小命令,默認(rèn)值為k.DEFUALT STORAGE 指定這個(gè)數(shù)據(jù)表空間的儲(chǔ)存參數(shù) (所有建立在這個(gè)數(shù)據(jù)表的對(duì)象都會(huì)就指定值為默認(rèn)值)INITIAL 第一個(gè)EXTENT的大小(Bytes)NEXT 下一步EXTENT的大小(Bytes)MINEXTENTS 指定SEGMENT建立時(shí)的EXTENTS總數(shù)MAXEXTENTS 指定EXTENTS總數(shù)(含第一個(gè))PCTINCREASE 指定從第二個(gè)EXTENT之后的所有EXTENTS的成長(zhǎng)比率ONLINEOFFLINE 設(shè)定數(shù)據(jù)表空間為馬上可用/不可用PERMANENTTEMPORARY 存放永久性數(shù)據(jù)/暫時(shí)性數(shù)據(jù)打開(Starting Up)和關(guān)閉(Shutting Down)數(shù)據(jù)庫(kù)STARTUP database_name PFILE=pathinitoracle_sid.ora; 注:database_name 代換成數(shù)據(jù)庫(kù)名稱 PFILE 是用來(lái)指定打開數(shù)據(jù)庫(kù)的起始參數(shù)文件 path 代換成路徑 initoracle_sid.ora 將oracle_sid代換成數(shù)據(jù)庫(kù)代碼 改變儲(chǔ)存空間設(shè)定ALTER TABLESPACE tablespace_name DEFAULT STORAGE( INITIAL nKM 初始的數(shù)據(jù)擴(kuò)展 NEXT nKM 再增加的下一步數(shù)據(jù)擴(kuò)展 MINEXTENTS n 數(shù)據(jù)延展的最小數(shù)量 MAXEXTENTS n 數(shù)據(jù)延展的最大數(shù)量 PCTINCREASE n ); 增加的比率接合未使用的空間(Coalescing Free Space)(DESC DBA_FREE_SPACE_COALESCED;)ALTER TABLESPACE tablespace_name COALESE;ALTER TABLESPACE TEMP COALESCE;SELECT TABLESPACE_NAME,EXTENTS_COALESCED,PERCENT_EXTENTS_COALESCED FROM DBA_FREE_SPACE_COALESCED;開放和關(guān)閉數(shù)據(jù)表空間ALTER TABLESPACE tablespace_name ONLINEOFFLINE;使數(shù)據(jù)表空間只讀ALTER TABLE tablespace_name READ ONLY;刪除數(shù)據(jù)表空間DROP TABLESPACE tablespace_name INCLUDING CONTENTS;建立和新增數(shù)據(jù)文件給數(shù)據(jù)表空間ALTER TABLESPACE tablespace_name ADD DATAFILE pathdata_file_name SIZE nKM;注:tablespace_name 代換成數(shù)據(jù)表空間的名稱 path 代換成路徑 data_file_name代換成數(shù)據(jù)文件名稱 n 代換成數(shù)值以指定數(shù)據(jù)文件大小打開自動(dòng)延展的作用(Automatic Extension)ALTER TABLESPACE tablespace_name ADD DATAFILE pathdatafile_name SIZE nKM AUTOEXTEND ON -(打開) NEXT nK MAXSIZE nK; ALTER DATABASE DATAFILE pathdatafile_name AUTOEXTEND OFF; -(關(guān)閉) 手動(dòng)改變數(shù)據(jù)文件的大小ALTER DATABASE DATAFILE pathdatafile_name RESIZE nKM;設(shè)定儲(chǔ)存參數(shù) CREATE TABLE emp ( empno NUMBER(5) PRIMARY KEY, ename VARCHAR2(15) NOT NULL, job VARCHAR2(10), mgr NUMBER(5), hiredate DATE DEFAULT (sysdate), sal NUMBER(7,2), comm NUMBER(7,2), deptno NUMBER(3) NOT NULL CONSTRAINT dept_fkey REFERENCES dept)PCTFREE 10PCTUSED 40TABLESPACE usersSTORAGE ( INITIAL 50K NEXT 50K MAXEXTENTS 10 PCTINCREASE 25 );列出數(shù)據(jù)庫(kù)內(nèi)所有的數(shù)據(jù)表空間和它的空間參數(shù)設(shè)定信息:SELECT tablespace_name,Initial_extent,next_extent,min_extents,max_extents,pct_increase FROM sys.dba_tablespaces; 顯示數(shù)據(jù)庫(kù)對(duì)象和其對(duì)象類型SELECT object_name,object_type FROM user_objects;顯示字段信息SELECT table_name,column_name,data_length FROM user_tab_columns WHERE table_name = PERFORMANCE; 顯示TABLESPACE和所屬的數(shù)據(jù)文件SELECT Tablespace_Name, Datafile FROM V$TABLESPACE t,V$DATAFILE d WHERE t.ts# = d.ts#;用命令的方式建立數(shù)據(jù)庫(kù)CONNECT derwyn/derwyn AS SYSDBASTARTUP PFILE= C:derwyninitfree.ora NOMOUNT;CREATE DATABASE freeism DATAFILE /u02/oracle/freeism/system01.dbf SIZE 100MLOGFILE GROUP1 (/u01/oracle/freeism/redo1a.log,/u02/oracle/freeism/redo1b.log) SIZE 500K, GROUP2 (/u01/oracle/freeism/redo1a.log,/u02/oracle/freeism/redo1b.log) SIZE 500KCHARACTER SET ZHS16CGB231280;將數(shù)據(jù)庫(kù)直接從未建置狀態(tài)轉(zhuǎn)換到打開狀態(tài)ALTER DATABASE OPEN;刪除數(shù)據(jù)庫(kù)(刪除數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)文件、刪除數(shù)據(jù)重構(gòu)日志文件)SPOOL C:DROP_DATABASE.BATSELECT DEL |NAME FROM V$DATAFILE;SELECT DEL |MEMBER FROM V$LOGFILE;SPOOL OFF;建立數(shù)據(jù)表索引CREATE INDEX index_table_name ON table_name (name) TABLESPACE INDX;唯一限定(Unique)ALTER TABLE table_name ADD( CONSTRAINT uk_table_name1 UNIQUE (name); /*將所建立的數(shù)據(jù)表的name 這個(gè)字段限定唯一值,也就是限定參數(shù)名稱不能重復(fù)*/主關(guān)鍵值限定(Primary Key)ALTER TABLE table_name ADD( CONSTRAINT pk_table_name PRIMARY KEY (name, status);建立數(shù)據(jù)表觸發(fā)器DECLAREv_sysdate VARCHAR2(20);BEGINIF INSERTING THENUPDATE stock SET location = :NEW.location WHERE stock_id = :NEW.stock_id;IF SQL%NOTFOUND THENUPDATE package_items SET location = :NEW.location WHERE job_no = :NEW.stock_id;IF SQL%NOTFOUND THENSELECT TO_CHAR(sysdate,YYYY/MM/DD HH24:MI:SS) INTO v_sysdate FROM dual;INSERT INTO asrs_log(date_n_time,tran_in_doubt,handled)VALUES(v_sysdate,入庫(kù)STOCK_ID|:NEW.stock_id|在STOCK及PACKAGE_ITEMS中都不存在!,N);END IF;END IF;END IF;END;建立同義詞SELECT CREATE PUBLIC SYNONYM |object_name| FOR |owner|.|object_name|; FROM dba_objects WHERE owner = 用戶;權(quán)限設(shè)定SELECT GRANT ALL ON |object_name| TO PUBLIC; FROM dba_objects WHERE owner = 用戶;返回類型為字符串的函數(shù)CHR(n) Chr十進(jìn)制值,返回ascii 碼SELECT chr(65) FROM DUAL; 執(zhí)行結(jié)果:ACONCAT(m,n) 不論數(shù)字或數(shù)字,都以字符串方式相加SELECT concat(abc,123) FROM DUAL; 執(zhí)行結(jié)果:abc123INITCAP(n) 將句子n的第一個(gè)字母改為大寫SELECT initcap(this is a book) FROM DUAL; 執(zhí)行結(jié)果:This Is A BookNLS_INITCAP(m,n) 返回字句一個(gè)字為大寫(依照國(guó)家語(yǔ)言不同)NLS_LOWER 返回每一字為小寫(依照國(guó)家語(yǔ)言不同)NLS_UPPER 返回每一字為大寫(依照國(guó)家語(yǔ)言不同)LOWER 將字符串改為小寫SELECT lower(This Is A Book) FROM DUAL; 執(zhí)行結(jié)果:this is a bookUPPER(n) 將n中的每個(gè)字符轉(zhuǎn)為大寫SELECT upper(This Is A Book) FROM DUAL; 執(zhí)行結(jié)果:THIS IS A BOOKLPAD(m,n,z) 以n減length(m)的z字符數(shù)填入m的左邊SELECT lpad(1),8,-) FROM DUAL; 執(zhí)行結(jié)果:-(1)RPAD(m,n,z) 以n減length(m)的z字符數(shù)填入m的右邊SELECT rpad(tom,8,*) FROM DUAL; 執(zhí)行結(jié)果:tom*LTRIM(n) 去除字符串左邊的空格字符SELECT ltrim(tom) FROM DUAL; 執(zhí)行結(jié)果:tom RTRIM(n) 去除字符串右邊的空格字符SELECT rtrim( tom ) FROM DUAL; 執(zhí)行結(jié)果: tomTRIM(n) 去除字符串左、右邊的空格字符SELECT length(trim( tom ) FROM DUAL; 執(zhí)行結(jié)果:3REPLACE(m,n,z) M字符串中去除n字串以z字串取代SELECT replace(thid id a book,d,s) FROM DUAL; 執(zhí)行結(jié)果:this is a bookTRANSLATE(m,n,z) 以n字符串尋找m字符串,以z 字符串取代SELECT translate(abcdefg,cde,ab) FROM DUAL; 執(zhí)行結(jié)果:ababfgSUBSTR(m,n,z) m字符串中從頭n數(shù)字開始取,取z個(gè)字符SELECT substr(this is a book,11,4) FROM DUAL; 執(zhí)行結(jié)果:bookSUBSTRB(m,n,z) 以byte方式m字符串中從頭n數(shù)字開始取,取z個(gè)字符SELECT substrb(this is a book,-4,4) FROM DUAL; 執(zhí)行結(jié)果:bookNLSSORT 決定排列順序(依照國(guó)家語(yǔ)言不同)SOUNDEX(m) 返回以字符串m聲音.(可做文字發(fā)音比較)SELECT ename FROM emp WHERE soundex(ename)=soundex(MILER); 執(zhí)行結(jié)果:MILLER返回?cái)?shù)值的字符函數(shù)ASCII(n) 返回字符的Ascii的十進(jìn)制值SELECT ascii(A) FROM DUAL; 執(zhí)行結(jié)果:65INSTR(m,n) 返回n字串在m字符串中的位置SELECT instr(book,o) FROM DUAL; 執(zhí)行結(jié)果:2INSTRB(m,n) 以byte返回n字串在m字符串中的位置SELECT instrb(book,k) FROM DUAL; 執(zhí)行結(jié)果:4LENGTH(n) 返回字符串的長(zhǎng)度SELECT length(ltrim( tom ) FROM DUAL; 執(zhí)行結(jié)果:5LENGTHB(n) 以byte方式返回字符串的長(zhǎng)度SELECT lengthb( tom ) FROM DUAL; 執(zhí)行結(jié)果:6日期函數(shù)ADD_MONTHS(d,n) 返回d加n個(gè)月后的日期(月份的最大日期)SELECT add_months(sysdate,1) FROM DUAL; 執(zhí)行結(jié)果:07-DEC-00LAST_DAY(d) 返回該月的最后一天的日期SELECT last_day(sysdate) FROM DUAL; 執(zhí)行結(jié)果:30-NOV-00MONTHS_BETWEEN(m,n) 返回m-n的值,單位月(日期相減單位為日)SELECT months_between(sysdate ,to_date(20000901,yyyymmdd) FROM DUAL;執(zhí)行結(jié)果:2.2559308NEW_TIME(m,n,z) n時(shí)區(qū)的日期、時(shí)間是m,返回在z時(shí)區(qū)的日期時(shí)間SELECT new_time(sysdate,CST,PST) FROM DUAL;NEXT_DAY(m,n) 下一個(gè)星期n(1-7=sun-sat)是哪一天SELECT next_day(sysdate,1) FROM DUAL; 執(zhí)行結(jié)果:12-NOV-00ROUND(d) 日期四舍五入以中午為中點(diǎn)SELECT round(sysdate) FROM DUAL;SYSDATE 返回系統(tǒng)日期SELECT sysdate FROM DUAL;TRUNC(d,n) 將d截?cái)嗟絥 n default=NULL(日);n=month截?cái)嗟皆?第一天)SELECT trunc(sysdate) FROM DUAL; 執(zhí)行結(jié)果:07-NOV-00類型轉(zhuǎn)換函數(shù)CHARTOROWID 將字符類型轉(zhuǎn)為ROWID類型SELECT ename FROM emp WHERE rowid = chartorowid(AAACqqAACAAAAEHAAN); 執(zhí)行結(jié)果: MILLERROWIDTOCHAR(m) 將ROWID類型轉(zhuǎn)為字符類型SELECT ename FROM emp WHERE rowidtochar(rowid) = AAACqqAACAAAAEHAAN ; 執(zhí)行結(jié)果: MILLERCONVERT(m,n,z) 將字符串轉(zhuǎn)換另一國(guó)家字符設(shè)定值SELECT convert(Gre, US7ASCII ,WE8HP) FROM DUAL; 執(zhí)行結(jié)果: GrEceHEXTORAW(m) 將十六進(jìn)制轉(zhuǎn)換為原始值SELECT hextoraw(41) FROM DUAL;RAWTOHEX(m) 將原始值(例如.A=65)進(jìn)位轉(zhuǎn)換為十六進(jìn)制SELECT rawtohex(A) FROM DUAL; 執(zhí)行結(jié)果:41TO_CHAR (d,t ) 將日期轉(zhuǎn)換為字符串,d=日期,t=日期類型格式SELECT 今日是| to_char(sysdate,yyyy/mm/dd) FROM DUAL; 執(zhí)行結(jié)果:今日是2000/11/07TO_DATE(m,t) 將字符串轉(zhuǎn)換為日期,m=字符串,t=日期類型格式SELECT to_date(2000/11/07,yyyy/mm/dd) FROM DUAL; 執(zhí)行結(jié)果:07-NOV-00TO_CHAR (n) 將數(shù)字格式轉(zhuǎn)換為字符串SELECT to_char(123) | 省時(shí)省力 FROM DUAL; TO_NUMBER(m) 將字符串轉(zhuǎn)成數(shù)字SELECT to_number(123) + 2 FROM DUAL; TO_LOB(m) 將LONG的數(shù)據(jù)類型轉(zhuǎn)換成LOB的數(shù)據(jù)類型TO_MULTI_BYTE(m) 將CHAR的數(shù)據(jù)類型轉(zhuǎn)換成多位的字體TO_SINGLE_BYTE(m) 將寬字符轉(zhuǎn)換成CHARTRANSLATE(m using n) 將char轉(zhuǎn)成 ncharSELECT translate(m using n) FROM DUAL;其它單個(gè)記錄用的函數(shù)BFILENAME(m,n) 返回外部文件值,m=目錄字符串,n=文件字符串insert into test(a1,a2) values(1,bfilename(c:document,dc001.bmp);DUMP(m,n,n1,n2) 返回m的長(zhǎng)度及內(nèi)碼,n=進(jìn)位數(shù)(默認(rèn)值=10進(jìn)位) , n1=m 的開始位置,n2=取的位數(shù)SELECT dump(a) FROM DUAL; DECODE(c|n,v1,r1,v2,r2d1) 變量c字符串或n數(shù)字,=v1則值=r1;=v2則值=v2,或=d1SELECT decode(a,1,123,a,abc,123abc) FROM DUAL; 執(zhí)行結(jié)果:abcEMPTY_B|CLOB 將BLOB或CLOB初始化,就是返回 BLOB或CLOB的空指針Update table test set clob_col=empty_clob() WHERE rownum=1GREATEST(m) m可為數(shù)字或字符串,返回最大值SELECT greatest(3,5,2,8,34) FROM DUAL; 執(zhí)行結(jié)果:34LEAST(m1,m2,m3.mn) m可為數(shù)字或字符串,返回最小值SELECT least(3,5,2,8,34) FROM DUAL; 執(zhí)行結(jié)果:2NLS_CHARSET_DECL_LEN(m,n) 返回所要的字符集對(duì)應(yīng)當(dāng)前數(shù)據(jù)庫(kù)的字符集,m=字體數(shù),n=字符集(如:ZHT16BIG5)NLS_CHARSET_ID(m) 返回字符集的ID,m=字符集SELECT NLS_CHARSET_ID(ZHT16BIG5) FROM DUAL;NLS_CHARSET_NAME(n) 返回字符集,n=字符集的IDSELECT NLS_CHARSET_NAME (865) FROM DUAL;NVL(m,n) m為NULL 則返回n值,否則返回m值SELECT nvl(NULL,5) FROM DUAL;SYS_CONTEXT(m,n) 返回與某一個(gè)context名稱關(guān)聯(lián)的Package spec定義的變量的值,m=context的名稱, n=變量名稱SYS_GUID 返回全球獨(dú)一無(wú)二的IDUID 返回目前的用戶的唯一IDSELECT uid FROM DUAL; 執(zhí)行結(jié)果:26USER 返回用戶名稱SELECT user FROM DUAL; scottUSERENV(m) 返回用戶環(huán)境參數(shù)的信息,參數(shù)m=ISDBA, LANGUAGE, TERMINAL, SESSIONID, ENTRYID , LANG, INSTANCE, CLIENT_INFOVSIZE(m) 返回字符串的bytes數(shù)SELECT vsize(book) FROM DUAL; 執(zhí)行結(jié)果:4SQL 指令集ALTER CLUSTER 變更修改簇ALTER DATABASE 變更修改數(shù)據(jù)庫(kù)SVRMGR ALTER TABLESPACE EXISTING_TABLESPACE ADD DATAFILE oracle_homedatabaseps02.ora SIZE 50 M; ALTER DIMENSION 變更修改規(guī)?;蚍秶鶤LTER FUNCTION 變更修改自定義函數(shù)ALTER INDEX 變更修改索引ALTER JAVA 變更修改JAVA(在網(wǎng)際網(wǎng)絡(luò)上的應(yīng)用程序開發(fā)語(yǔ)言)ALTER MATERIALIZED VIEW / SNAPSHOT 變更修改具體化的視圖或快照ALTER MATERIALIZED VIEW LOG / SNAPSHOT LOG 變更修改具體化的視圖或快照日志ALTER OUTLINE 變更修改提鋼ALTER PACKAGE 變更修改包ALTER PROCEDURE 變更修改過(guò)程ALTER PROFILE 變更修改專屬概述表ALTER RESOURCE COST 變更修改資源成本ALTER ROLE 變更修改角色ALTER ROLLBACK SEGMENT des2rbs OFFLINE;ALTER ROLLBACK SEGMENT 變更修改回滾退回用的數(shù)據(jù)段ALTER SEQUENCE 變更修改序列ALTER SEQUENCE test_seq MAXVALUE 9999999999; /*設(shè)定最大值的限制*/ALTER SEQUENCE test_seq CYCLE cache 5; /*設(shè)定無(wú)限循環(huán)*/ALTER SESSION 變更修改(某個(gè))登錄期間ALTER SNAPSHOT 變更修改快照ALTER SNAPSHOT LOG 變更修改快照日志ALTER SYSTEM 變更修改數(shù)據(jù)庫(kù)系統(tǒng)ALTER SYSTEM KILL SESSION 35,1589; /*刪除屬于這個(gè) sid,serial#的數(shù)據(jù) */SELECT terminal, sid, serial#, username, status FROM v$session WHERE username=MICHAEL; /*查sid,serial#的方法*/ALTER TABLE 變更修改數(shù)據(jù)表ALTER TABLE table_name ADD(memo VARCHAR2(2000); /*新增字段*/ALTER TABLE table_name MODIFY(memo VARCHAR2(4000); /*修改字段*/ALTER TABLE table_name ADD (CONSTRAINT test_pk PRIMARY KEY (id) /*新增PK*/ USING INDEX PCTFREE 10 TABLESPACE ps_index)ALTER TABLE table_name ADD (CONSTRAINT emp_fk FOREIGN KEY (dept_no) REFERENCES dept(no); /*新增FK*/ALTER TABLE table_name ADD( CONSTRAINT unique_emp UNIQUE (cust_code, pkg_code); /*新增UNIQUE */ALTER TABLE table_name DISABLE CONSTRAINT test_pk; /*關(guān)閉constraint */ALTER TABLE table_name DROP PRIMARY KEY; /*刪除 PK */ALTER TABLESPACE 變更修改數(shù)據(jù)表空間ALTER TRIGGER 變更修改觸發(fā)器ALTER TYPE 變更修改類型ALTER USER 變更修改用戶ALTER USER abc IDENTIFIED BY abc123 DEFAULT TABLESPACE ps TEMPORARY TABLESPACE temp;ALTER VIEW 變更修改視圖ANALYZE 分析ASSOCIATE STATISTICS 建立關(guān)聯(lián)統(tǒng)計(jì)AUDIT sql_statements 審查SQL指令A(yù)UDIT schema_objects 審查構(gòu)架對(duì)象CALL 調(diào)用COMMENT 注釋COMMIT 提交CONSTRAINT_CLAUSE 限制條件CREATE CLUSTER 新增簇CREATE CONTEXT 建立上下關(guān)聯(lián)(需要先安裝該對(duì)象)CREATE CONTEXT m_context USING package1;CREATE CONTROLFILE 新增數(shù)據(jù)庫(kù)控制文件CREATE DATABASE 新增數(shù)據(jù)庫(kù)CREATE DATABASE freeism DATAFILE /u02/oracle/freeism/system01.dbfSIZE 100MLOGFILE GROUP1(/u01/oracle/freeism/redo1a.log,/u02/oracle/freeism/redo1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦用叉車維修與安全操作培訓(xùn)合同
- 高新技術(shù)產(chǎn)業(yè)園區(qū)場(chǎng)地租賃與科技創(chuàng)新合同
- 步進(jìn)控制說(shuō)課課件
- 2025年山西中考英語(yǔ)試題及答案
- 2025至2030中國(guó)塔格糖行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國(guó)在線開票軟件行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030中國(guó)壓實(shí)機(jī)械行業(yè)市場(chǎng)深度研究與戰(zhàn)略咨詢分析報(bào)告
- 孟村回族自治縣職業(yè)技術(shù)教育中心招聘真題
- 社區(qū)高血壓病人健康指導(dǎo)
- 生態(tài)旅游度假區(qū)場(chǎng)地?zé)o償使用合同
- 海外倉(cāng)一件代發(fā)服務(wù)合同范本下載
- 2025年山西省華艦體育控股集團(tuán)有限公司所屬企業(yè)校園招聘19人筆試參考題庫(kù)附帶答案詳解
- 2025臺(tái)州市椒江區(qū)輔警考試試卷真題
- 國(guó)開本科《管理英語(yǔ)4》機(jī)考總題庫(kù)及答案
- 軟裝行業(yè)競(jìng)品分析報(bào)告
- 腎占位超聲診斷
- T∕CACM 024-2017 中醫(yī)臨床實(shí)踐指南 穴位埋線減肥
- 化工企業(yè)交接班制度(附表格)-樣本模板
- 鎂合金半固態(tài)注射成型技術(shù)的研究與發(fā)展
- 企業(yè)管理咨詢重點(diǎn)總結(jié)
- 2025年廣東深圳美術(shù)館選聘專業(yè)技術(shù)崗位工作人員1人歷年自考難、易點(diǎn)模擬試卷(共500題附帶答案詳解)
評(píng)論
0/150
提交評(píng)論