数据更新

/ 0评 / 1

数据更新操作有三种:向表中添加若干行数据、修改表中的数据和删除表中的若干行数据。在SQL中有相应的三类语句。
1. 插入数据
SQL的数据插入语句INSERT通常有两种形式,一种是插入一个元组,另一种是插入子查询结果。后者可以一次插入多个元组。
1)插入元组
插入元组的INSERT语句的格式为
INSERT INTO<表名> [(<属性列1> [,<属性列2>] ..)]
VALUES(<常量1> [,<常量2>] …);
其功能是将新元组插入指定表中。其中新元组的属性列1的值为常量1,属性列2的值为常量2,…。 INTO 子句中没有出现的属性列,新元组在这些列上将自动取空值。但必须注意的是,在表定义时说明了NOT NULL的属性列不能取空值,否则会出错。
如果INTO子句中没有指明任何属性列名,则新插入的元组必须在每个属性列上均有值且按其表中顺序,若无值也要明确给出空值NULL。
栗子:
INSERT INTO SC
VALUES(‘201215128’,’1’,NULL);
注:字符串常数要用单引号(英文符号)括起来
2)插入子查询结果
子查询不仅可以嵌套在SELECT语句中用以构造父查询的条件,也可以嵌套在INSERT语句中用以生成要插入的批量数据。
插入子查询结果的INSERT语句格式为
INSERT INTO <表名> [(<属性列1> [,<属性列2>…])]
子查询;
2. 修改数据
修改操作又称为更新操作,其语句的一般格武为
UPDATE <表名>
SET <列名>=<表达式> [,<列名>=<表达式>]…
[WHERE <条件>] ;
其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句给出<表达式>的值用于取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。
3. 删除数据
删除语句的一般格式为
DELETE
FROM <表名>
[WHERE <条件>] ;
DELETE语句的功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句则表示删除表中全部元组,但表的定义仍在字典中。也就是说,DELETE语句删除的是表中的数据,而不是关于表的定义。

发表评论

电子邮件地址不会被公开。 必填项已用*标注