数据库基础总结(八)——SQL数据操作及空值处理

本文介绍了SQL中的数据操作,包括插入数据(插入元组、插入子查询结果)、修改数据、删除数据,并详细讨论了空值的处理,如空值的含义、运算规则以及在数据库完整性规则中的考量。

SQL数据操作及空值处理

1)插入数据

两种插入数据方式
(1)插入元组
(2)插入子查询结果:可以一次插入多个元组

1)插入元组

INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)] VALUES (<常量1> [,<常量2>]… );

INTO子句
(1)指定要插入数据的表名及属性列
(2)属性列的顺序可与表定义中的顺序不一致
(3)没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致
(4)指定部分属性列:插入的元组在其余属性列上取空值

VALUES子句
提供的值必须与INTO子句匹配
(1)值的个数
(2)值的类型

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2)插入子查询结果

语句格式
INSERT INTO <表名> [(<属性列1> [,<属性列2>… )] 子查询;

INTO子句
子查询
SELECT子句目标列必须与INTO子句匹配
(1)值的个数
(2)值的类型

在这里插入图片描述
关系数据库管理系统在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则。

2)修改数据

UPDATE <表名> SET <列名>=<表达式>[,<列名>=<表达式>]… [WHERE <条件>];

功能
(1)修改指定表中满足WHERE子句条件的元组
(2)SET子句给出<表达式>的值用于取代相应的属性列
(3)如果省略WHERE子句,表示要修改表中的所有元组

三种修改方式
(1)修改某一个元组的值
(2)修改多个元组的值
(3)带子查询的修改语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关系数据库管理系统在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则。

3)删除数据

DELETE FROM <表名> [WHERE <条件>];

功能
删除指定表中满足WHERE子句条件的元组

WHERE子句
(1)指定要删除的元组
(2)无该子句将会删除表中的全部元组

三种删除方式
(1)删除某一个元组的值
(2)删除多个元组的值
(3)带子查询的删除语句
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4)空值的处理

空值就是“不知道”或“不存在”或“无意义”的值。
一般有以下几种情况:
(1)该属性应该有一个值,但目前不知道它的具体值
(2)该属性不应该有值
(3)由于某种原因不便于填写

判断一个属性的值是否为空值,用IS NULL或IS NOT NULL来表示。
在这里插入图片描述
属性定义(或者域定义)中
(1)有NOT NULL约束条件的不能取空值
(2)加了UNIQUE限制的属性不能取空值
(3)码属性不能取空值

空值之间的运算如下:
(1)空值与另一个值(包括另一个空值)的算术运算的结果为空值
(2)空值与另一个值(包括另一个空值)的比较运算的结果为UNKNOWN。
(3)有UNKNOWN后,传统二值(TRUE,FALSE)逻辑就扩展成了三值逻辑

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值