sql数据更新
数据更新
1.插入数据
* 插入元组
写法:insert into 表名(属性列,属性列。。) values(常量,常量。。);
* 插入子查询结果
写法:insert into 表名(属性列,属性列。。) 子查询;
子查询语句得到的结果插入到表中
2.修改数据
写法:update 表名 set 列名=表达式,列名=表达式 where 条件
* 修改元组值
where条件可不写,表示修改所有。
* 带子查询的修改语句
类似嵌套查询的语法
写法:update 表名 set 列名=表达式,列名=表达式 where 表达式
表达式可以是:列名 in(select语句) >any >all 具体看嵌套查询里的语法
3.删除数据
delete from 表名 where 条件
* 删除元组值
不写where表示删除这张表
* 带子查询的删除语句
where 可以是嵌套查询里面的用法 使用in any all。。。谓词
4.空值处理
-
产生
- 比如插入语句没有给定所有属性的值
- 比如外连接
-
判断
- is null 和 is not null
-
约束条件
- 主键(码)不为null
- 属性定义 not null 约束条件不为null
- unique限制的属性不为空
-
空值运算
- 算数运算,空值运算结果为null
- 比较运算,空值比较结果为unknown,即使两个null比较也是unknown
- 逻辑运算(与或非) t为true,f为false,u为unknown