数据更新

数据库系统中,数据更新操作有三种:
1、向表中添加若干行数据
2、修改表中的数据
3、删除表中的若干行数据

一、插入数据

SQL的数据插入语句INSERT的形式:

1、插入元组

格式:INSERT INTO <表名>[(<属性列>[,<属性列2>]…)] VALUES(<常量1>[,<常量2>]…);
功能:将新元组插入到指定表中。其中新元组的属性列1的值为常量1,属性列2的值为常量2,以此类推。INTO子句没有出现属性列,新元组在这些列上默认为空值,但是如果表定义时有明确指出属性列不能为空值,就会报错。如果INTO子句中没有指明任何属性列名,则新插入的元组必须在每个属性列上均有值。

2、插入子查询结果

子查询不仅可以嵌套在SELECT语句中用以构造父查询的条件,也可以嵌套在INSERT语句中用以生成要插入的批量数据。
格式:INSERT INTO [(<属性列1>[,<属性列2>…]) 子查询;

二、修改数据

修改操作又称为更新操作,语句:
UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];
功能:修改指定表中满足WHERE子句条件的元组。其中SET子句给出<表达式>的值用于取代相应的属性列值。如果没有WHERE子句就代表修改表中所有元组。

1、修改某一个元组的值
2、修改多个元组的值
3、带子查询的修改语句:子查询用以构造修改的条件

三、删除数据

格式:DELETE FROM <表名> [WHERE <条件>];
功能:从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句则表示删除表中全部元组,它只是删除表中的数据,并不是关于表的定义。

1、删除某一个元组的值
2、删除多个元组的值
3、带子查询的删除语句:子查询用以构造删除操作的条件

空值的处理

所谓空值就是“不知道”或“不存在”或“无意义”的值。SQL语言中允许某些元组的某些属性在一定情况下取空值。
1、该属性应该有一个值,但不知道它的具体值;
2、该属性不应该有值;
3、由于某种原因不便于填写。

空值是一个很特殊的值,含有不确定性,对关系运算带来特殊的问题,需要做特殊的处理。

1、空值的产生

1)插入数据的时候没有进行值的插入
2)外连接也会产生空值
3)空值的关系运算也会产生空值

2、空值的判断

用IS NULL和IS NOT NULL判断是否为空值。

3、空值的约束条件

属性定义(或域定义)中有NOT NULL约束条件不能取空值,加了UNIQUE限制的属性不能取空值,码属性不能取空值。

4、空值的算术运算、比较运算和逻辑运算

空值与另一个值(包括空值)的算术运算结果为空值,空值与另一个值(包括空值)的比较运算结构为UNKNOWN。有了UNKOWN后,传统的逻辑运算中二值(TRUE/FALSE)就扩展成了三值逻辑。
以下是逻辑运算符真值表
运算真值表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值