資源描述:
《ORACLE常用指令》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、ORACLE常用指令ORACLE常用指令一.數(shù)據(jù)控制語句(DML)部分1.INSERT(往數(shù)據(jù)表里插入記錄的語句)INSERTINTO表名(字段名1,字段名2,……)valueS(值1,值2,……);INSERTINTO表名(字段名1,字段名2,……)SELECT(字段名1,字段名2,……)FROM另外的表名;字符串類型的字段值必須用單引號括起來,例如:'GOODDAY'如果字段值里包含單引號'需要進(jìn)行字符串轉(zhuǎn)換,我們把它替換成兩個單引號''.字符串類型的字段值超過定義的長度會出錯,最好在插入前進(jìn)行長度校驗(yàn).日期字段的字段值可以用當(dāng)前數(shù)據(jù)庫的系統(tǒng)時間SYSDATE,
2、精確到秒或者用字符串轉(zhuǎn)換成日期型函數(shù)TO_DATE('2001-08-01','YYYY-MM-DD')TO_DATE()還有很多種日期格式,可以參看ORACLEDOC.年-月-日小時:分鐘:秒的格式Y(jié)YYY-MM-DDHH24:MI:SSINSERT時最大可操作的字符串長度小于等于4000個單字節(jié),如果要插入更長的字符串,請考慮字段用CLOB類型,方法借用ORACLE里自帶的DBMS_LOB程序包.INSERT時如果要用到從1開始自動增長的序列號,應(yīng)該先建立一個序列號CREATESEQUENCE序列號的名稱(最好是表名+序列號標(biāo)記)INCREMENTBY1STAR
3、TWITH1MAXvalue99999CYCLENOCACHE;其中最大的值按字段的長度來定,如果定義的自動增長的序列號NUMBER(6),最大值為999999INSERT語句插入這個字段值為:序列號的名稱.NEXTVAL2.DELETE(刪除數(shù)據(jù)表里記錄的語句)DELETEFROM表名WHERE條件;注意:刪除記錄并不能釋放ORACLE里被占用的數(shù)據(jù)塊表空間.它只把那些被刪除的數(shù)據(jù)塊標(biāo)成unused.如果確實(shí)要刪除一個大表里的全部記錄,可以用TRUNCATE命令,它可以釋放占用的數(shù)據(jù)塊表空間TRUNCATETABLE表名;此操作不可回退.3.UPDATE(修改數(shù)據(jù)
4、表里記錄的語句)UPDATE表名SET字段名1=值1,字段名2=值2,……WHERE條件;如果修改的值N沒有賦值或定義時,將把原來的記錄內(nèi)容清為NULL,最好在修改前進(jìn)行非空校驗(yàn);值N超過定義的長度會出錯,最好在插入前進(jìn)行長度校驗(yàn)..注意事項(xiàng):A.以上SQL語句對表都加上了行級鎖,確認(rèn)完成后,必須加上事物處理結(jié)束的命令COMMIT才能正式生效,否則改變不一定寫入數(shù)據(jù)庫里.如果想撤回這些操作,可以用命令ROLLBACK復(fù)原.B.在運(yùn)行INSERT,DELETE和UPDATE語句前最好估算一下可能操作的記錄范圍,應(yīng)該把它限定在較小(一萬條記錄)范圍內(nèi),.否則ORACLE
5、處理這個事物用到很大的回退段.第32頁,共32頁ORACLE常用指令程序響應(yīng)慢甚至失去響應(yīng).如果記錄數(shù)上十萬以上這些操作,可以把這些SQL語句分段分次完成,其間加上COMMIT確認(rèn)事物處理.二.數(shù)據(jù)定義(DDL)部分1.CREATE(創(chuàng)建表,索引,視圖,同義詞,過程,函數(shù),數(shù)據(jù)庫鏈接等)ORACLE常用的字段類型有CHAR固定長度的字符串VARCHAR2可變長度的字符串NUMBER(M,N)數(shù)字型M是位數(shù)總長度,N是小數(shù)的長度DATE日期類型創(chuàng)建表時要把較小的不為空的字段放在前面,可能為空的字段放在后面創(chuàng)建表時可以用中文的字段名,但最好還是用英文的字段名創(chuàng)建表時可以
6、給字段加上默認(rèn)值,例如這樣每次插入和修改時,不用程序操作這個字段都能得到動作的時間創(chuàng)建表時可以給字段加上約束條件例如不允許重復(fù)UNIQUE,關(guān)鍵字PRIMARYKEY2.ALTER(改變表,索引,視圖等)改變表的名稱ALTERTABLE表名1TO表名2;在表的后面增加一個字段ALTERTABLE表名ADD字段名字段名描述;修改表里字段的定義描述ALTERTABLE表名MODIFY字段名字段名描述;給表里的字段加上約束條件ALTERTABLE表名ADDCONSTRAINT約束名PRIMARYKEY(字段名);ALTERTABLE表名ADDCONSTRAINT約束名UN
7、IQUE(字段名);把表放在或取出數(shù)據(jù)庫的內(nèi)存區(qū)ALTERTABLE表名CACHE;ALTERTABLE表名NOCACHE;3.DROP(刪除表,索引,視圖,同義詞,過程,函數(shù),數(shù)據(jù)庫鏈接等)刪除表和它所有的約束條件DROPTABLE表名CASCADECONSTRAINTS;4.TRUNCATE(清空表里的所有記錄,保留表的結(jié)構(gòu))TRUNCATE表名;三.查詢語句(SELECT)部分SELECT字段名1,字段名2,……FROM表名1,[表名2,……]WHERE條件;字段名可以帶入函數(shù)例如:COUNT(*),MIN(字段名),MAX(字段名),AVG(字段名),D