一.資料控制語句(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 表名;
此操作不可回退.