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: