DML語言
DML是SQL的壹個子集,主要用於修改數據,下表列出了ORACLE支持的DML語句。
語句 用途
INSERT 向表中添加行
UPDATE 更新存儲在表中的數據
DELETE 刪除行
SELECT FOR UPDATE 禁止其他用戶訪問DML語句正在處理的行。
LOCK TABLE 禁止其他用戶在表中使用DML語句
插入數據
INSERT語句常常用於向表中插入行,行中可以有特殊數據字段,或者可以用子查詢從已存在的數據中建立新行。
列目錄是可選的,缺省的列的目錄是所有的列名,包括comlumn_id,comlumn_id可以在數據字典視圖ALL_TAB_COLUMNS,USER_TAB_COLUMNS,或者DBA_TAB_COLUMNS中找到。
插入行的數據的數量和數據類型必須和列的數量和數據類型相匹配。不符合列定義的數據類型將對插入值實行隱式數據轉換。NULL字符串將壹個NULL值插入適當的列中。關鍵字NULL常常用於表示將某列定義為NULL值。
下面的兩個例子是等價的。
INSERT INTO customers(cust_id,state,post_code)
VALUE('Ariel',NULL,'94501');
或
INSERT INTO customers(cust_id,state,post_code)
VALUE('Ariel',,'94501');
更新數據
UPDATE命令用於修改表中的數據。
UPDATE order_rollup
SET(qty,price)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE customer_id='KOHL'
WHERE cust_id='KOHL'
AND order_period=TO_DATE('01-Oct-2000')
刪除數據
DELETE語句用來從表中刪除壹行或多行數據,該命令包含兩個語句:
1、關鍵字DELETE FROM後跟準備從中刪除數據的表名。
2、WHERE後跟刪除條件
DELETE FROM po_lines
WHERE ship_to_state IN ('TX','NY','IL')
AND order_date