1.添加數據
格式如圖1:
說明:
column_list列出要添加數據的列名。在給表或視圖中部分列添加數據時,必須使用該選項說明這部分列名。
DEFAULT VALUES說明向表中所有列插入其缺省值。對於具有INDENTITY屬性或timestamp數據類型的列,系統將自動插入下一個適當值。對於沒有設置缺省值的列,根據它們是否允許空值,將插入null或返回一錯誤信息。
圖1
values_list的格式為:
VALUES(DEFAULT|constant_expression [,DEFAULT|constant_expression]......)
例1:
INSERT publisher
VALUES('9900','DELPHI','Beijing',null,'China')
例2:
INSERT publishers(pub_id,pub_name,contry,city)
VALUES('9900','DELPHI','China','Beijing')
例3:假定有兩個表tab1和tab2,它們列的排列順序分別為:col11,col2,col3和col1,col3,col2。這時,可使用現在兩種方法來實現數據拷貝:
INSERT tab1(col1,col3,col2)
SELECT * FROM tab2
或
INSERT tab1
SELECT col1,col2,col3 FROM tab2
2.修改數據
SET子句指定被修改的列名及其新值,WHERE子句說明修改條件,指出表或視圖中的哪些行需要修改。
例1:使用SET子句將discounts表中所有行的discounts值增加0.1;
UPDATE discounts
SET discount=discount+0.1
例2:同時修改discounts表中折扣類型為volumn discount的lowqty可doscount列值:
UPDATE discounts
SET discount=discount+0.5,lowqty=lowqty+200
WHERE discounttype='volume discount'
3.刪除數據
DELETED和TRUNCATE TABLE語句都可以用來刪除表中的數據,DELETE語句的格式為:
DELETE [FROM] {table_name|view_name}
[WHERE clause]
TRUNCATE TABLE語句的格式為:
TRUNCATE TABLE [[database.]owner.]table_name
TRUNCATE TABLE語句刪除指定表中的所有數據行,但表結構及其所有索引繼續保留。
為該表所定義的約束、規則、缺省和觸發器仍然有效。如果所刪除表中包含有IDENTITY列,則該列將復位到它的原始基值。使用不帶WHERE子句的DELETE語句也可以刪除表中所有行,但它不復位IDENTITY列。
TRUNCATE TABLE不能刪除一個被其他表通過FOREIGN KEY約束所參照的表。
例1:
DELETE discounts
TRUNCATE TABLE discounts
例2:
DELETE titles
WHERE type='business'
例3: