Oracle数据库学习<四>
来源:互联网 发布:2016网络播放器软件 编辑:程序博客网 时间:2024/05/22 00:34
3.2 数据的更新
3.2.1 简单的数据更新
UPDATE 语句用来对数据表中的数据进行更新。下边的语句用来将表 T_Person 中所有
人员的 FREMARK 字段值更新为“SuperMan” :
UPDATE T_Person SET FRemark = 'SuperMan'
UPDATE 语句用来将所有人员的 FRemark 字段更新为“Sonic” ,并且将年龄更新为 25:
UPDATE T_Person SET FRemark = 'Sonic',FAge=25
多个列之间需要使用逗号分隔开。
3.2.2 带 WHERE 子句的 UPDATE 语句
HERE 语句中我们设定适当的过滤条件,这样 UPDATE 语句只会更新符合 WHERE 子句中过滤条件的行,而其他行的数据则不被修改。执行下边的 UPDATE 语句:
UPDATE T_Person SET FAge = 12 WHERE FNAME='Tom'
可以使用复杂的 WHERE 语句来满足更加复杂的需求,比如下面的 UPDATE 语句就用来将 FNAME 等于’Jim’或者’LXF’的行的 FAge 字段更新为 22:
UPDATE T_Person SET FAge = 22 WHERE FName ='jim' OR FName='LXF'
这里我们使用 OR 逻辑运算符来组合两个条件来实现复杂的过滤逻辑, 我们还可以使用
OR、NOT 等运算符实现更加复杂的逻辑,甚至能够使用模糊查询、子查询等实现高级的数
据过滤
3.2.3 非空约束对数据更新的影响
T_Debt 表的 FAmount 字段是有非空约束
UPDATE T_Debt set FAmount = NULL WHERE FPerson='Tom'
错误信息:
不能将值 NULL 插入列 'FAmount',表 'demo.dbo.T_Debt';列不允许有空值。UPDATE
失败。
3.2.3 主键对数据更新的影响
主键是在同一张表中必须是唯一的, 如果在进行数据更新的时候指定的主键与表中已有
的数据重复的话则会导致违反主键约束的异常。
UPDATE T_Debt set FNumber = '2' WHERE FPerson='Tom'
由于表中已经存在一条 FNumber 字段为 2 的记录,所以运行这句 SQL 的时候会报出类似
如下的错误信息:
违反了 PRIMARY KEY 约束 'PK__T_Debt__1920BF5C'。不能在对象 'dbo.T_Debt' 中插入重复键。
3.2.4 外键对数据更新的影响
外键是指向另一个表中已有数据的约束,因此外键值必须是在目标表中存在的。如果更
新后的数据在目标表中不存在的话则会导致违反外键约束异常。
UPDATE T_Debt set FPerson = 'Merry' WHERE FNumber='1
由于在 T_Person 表中不存在 FName 字段等于“Merry”的数据行,所以会数据库系统会
报出类似如下的错误信息:
UPDATE 语句与 FOREIGN KEY 约束"FK__T_Debt__FPerson__1A14E395"冲突。该冲突发生于数据库"demo",表"dbo.T_Person", column 'FName'。
3.3 数据的删除
数据库中的数据一般都有一定的生命周期,当数据不再需要的时候我们就要将其删除,
执行 DELETE 语句就可以将数据从表中删除。不过需要注意的就是如果被删除的数据行是
某个外键关联关系中的被引用数据的话,则进行删除的时候会失败,如果要删除成功则必须
首先删除引用者才可以。
3.3.1 简单的数据删除
DELETE FROM T_Debt;
DELETE FROM T_Person;
3.3.2 带 WHERE 子句的 DELETE 语句
我们要删除年龄大于 20 岁或者来自火星(Mars)的人员,因此使用带复合逻辑 WHERE
子句
DELETE FROM T_Person WHERE FAge > 20 or FRemark = 'Mars'
- Oracle数据库学习<四>
- Oracle数据库学习笔记四
- oracle数据库学习笔记(四)
- Oracle数据库学习(四)--高级查询
- 4. oracle学习入门系列之四 oracle数据库简介
- oracle数据库(四)
- ORACLE学习笔记(四)——数据库的访问
- 在校生如何开始学习数据库(四) oracle创建oracle数据库对象
- 在校生如何开始学习数据库(四) oracle创建oracle数据库对象
- oracle学习笔记(四)
- oracle 学习(四)
- oracle plsql 学习四
- Oracle学习(四)
- oracle学习笔记四
- oracle 学习笔记四
- oracle学习笔记四
- oracle 学习(四)
- oracle学习笔记(四)
- 重载(overloading)和重写(overriding)
- 游戏行业专业术语
- UEditor设置上传图片值允许网络图片和本地图片的方式
- Android—ListView Item 展开动画效果
- 【Codeforces Round 335 (Div 2) A】【水题】Magic Spheres 三种类型物品兑换比例2:1.cpp
- Oracle数据库学习<四>
- Android基础:翻页控件Viewpager的使用方法,viewpager+fragment混合使用
- 设计模式之命令模式
- Tomcat和Apache的关系
- 【Codeforces Round 335 (Div 2) B】【模拟】Testing Robots 机器人逐步走 走到矿场就爆炸的最多行走步数
- 在图片上添加菊花
- animation——translation的实例
- Android学习摘记——简单的自定义View(自绘控件)
- linux打包压缩命令汇总