ORACLE中常用的SQL語(yǔ)法和數(shù)據(jù)對(duì)象
來(lái)源:易賢網(wǎng) 閱讀:880 次 日期:2014-09-17 11:02:48
溫馨提示:易賢網(wǎng)小編為您整理了“ORACLE中常用的SQL語(yǔ)法和數(shù)據(jù)對(duì)象”,方便廣大網(wǎng)友查閱!

一.數(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) , 最大值為999999

INSERT 語(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)值, 例如 DEFAULT SYSDATE

這樣每次插入和修改時(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字段名 字段名描述;

給表里的字段加上約束條件

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:ORACLE中常用的SQL語(yǔ)法和數(shù)據(jù)對(duì)象
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)