oracle常用sql文法集合

來源:互聯網
上載者:User

一.資料控制語句(DML)部分

1.insert (往資料表裡插入記錄的語句)

insert INTO 表名(欄位名1, 欄位名2, ……) VALUES ( 值1, 值2, ……);

insert INTO 表名(欄位名1, 欄位名2, ……) select (欄位名1, 欄位名2, ……) FROM 另外的表 名;

字串類型的欄位值必須用單引號括起來, 例如: ’GOOD DAY’

如果欄位值裡包含單引號’ 需要進行字串轉換, 我們把它替換成兩個單引號’.

字串類型的欄位值超過定義的長度會出錯, 最好在插入前進行長度校正.

日期欄位的欄位值可以用當前資料庫的系統時間SYSDATE, 精確到秒

或者用字串轉換成日期型函數TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)

TO_DATE()還有很多種日期格式, 可以參看ORACLE DOC.

年-月-日 小時:分鐘:秒 的格式YYYY-MM-DD HH24:MI:SS

insert時最大可操作的字串長度小於等於4000個單位元組, 如果要插入更長的字串, 請考慮欄位用 CLOB類型,方法借用ORACLE裡內建的DBMS_LOB程式包.

insert時如果要用到從1開始自動成長的序號, 應該先建立一個序號

create SEQUENCE 序號的名稱 (最好是表名 序號標記) INCREMENT BY 1 START WITH 1

MAXVALUE 99999 CYCLE NOCACHE;

其中最大的值按欄位的長度來定, 如果定義的自動成長的序號 NUMBER(6) , 最大值為999999

insert 語句插入這個欄位值為: 序號的名稱.NEXTVAL

2.delete (刪除資料表裡記錄的語句)

delete FROM表名 where 條件;

注意:刪除記錄並不能釋放ORACLE裡被佔用的資料區塊資料表空間. 它只把那些被刪除的資料區塊標成 unused.

如果確實要刪除一個大表裡的全部記錄, 可以用 truncate 命令, 它可以釋放佔用的資料區塊資料表空間

truncate TABLE 表名;

此操作不可回退.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.