导图社区 3.4数据更新
数据库 原理SQL使用 数据更新,内容有:插入数据INSERT、修改数据UPDATE、删除数据DELETE,一起来看吧。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
数据更新
插入数据INSERT
插入元组
插入子查询结果
修改数据UPDATE
语句格式: UPDATE <表名> SET <列名>=<表达式>[,<列名>=<表达式>...] [WHERE<条件>];
功能:修改指定表中满足WHERE子句条件的元组
不写WHERE,则修改表中所有元组
修改某一元组值
修改所有元组值
带子查询的修改语句
例7方法二: UPADTE SC SET Grade=0 WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept='CS');
修改数据时要涉及的完整性
实体完整性
主码不允许修改
用户定义完整性
NOT NULL
UNIQUE
值域约束
删除数据DELETE
语句格式: DELETE FROM <表名> [WHERE <条件>];
功能:指定要删除的元组
不写WHERE,则修改表中所有元组
删除某一个元组
删除表中所有记录(变成空表)
带子查询的删除语句
同例7
例10方法二: DELETE FROM SC WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept='CS');
删除数据涉及的完整性
只涉及参照完整性
仅删除数据,是不会影响用户定义/实体完整性 删除数据不会造成数据重复、为空等等 但会把参照和被参照的数据丢失
不允许删(相当于restrict)
若要删,要先把SC中的参照完整性删了,再删S/C表
级联删(相当于cascade)
数据更新会涉及完整性,若破坏完整性,则拒绝更新

这是个嵌套连接循环 SC.Cno相当于一个常量 整个过程: 从SC中选出一条记录, 将分量SC.Cno与Student表中的每一条记录的Student.Cno作比较, 若相等,则得到该学生的系别 当系别=‘CS’时,则从SC中选出的这条记录就符合条件,将其成绩更改为0
插入子查询结果例子: