当前课程知识点:数据库技术应用 > 学习情境三、银行存取款机数据操纵 > 模块1、银行存取款机数据插入、修改和删除 > 3.1.2数据修改和删除
大家好
欢迎来到数据库技术应用在线开放课程
今天我们的主要任务是
实现数据的修改和删除
我们把它分成三个子任务
首先第一个子任务是
将userinfo表当中的数据
李丹丹的住址改为恒大城
大家看在表当中
我们原本李丹丹这条数据
他的地址是呼和浩特永泰城
那么在这条数据的基础上
如果我把这个字段的值改成恒大城
怎么来实现呢
这是我们今天要讲的第一个内容
就是数据的修改
第二个子任务
将cardinfo表当中的类型改为人民币
大家来看
在我们cardinfo表当中
货币类型原本是无数据的
但是我们在银行的真正业务处理过程当中
这个货币类型一定是有数据的
所以货币类型我们需要把它修改成人民币
也用到了我们今天修改的语句
第三个任务
实现交易编号为000005的这样的
一个交易信息的一个删除
那么在我们表当中
交易信息表里面有一行数据
就是跟这条交易记录有关系的
那我需要把这条记录删除的话
需要用到我们的删除语句
接下来我们就看一下我们本节课的目标
就是要大家掌握update语句的语法
掌握delete语句的语法
也就是学会如何进行修改数据和删除数据
接下来我们就一起进入知识技能的学习
首先我们来看数据的修改
数据修改的语法格式用到的是
update set where
update后面要加的是表的名称
set后面要放的是列名等于表达式
也就说你要做什么样的修改
而where后面要放的是你的修改条件
大家可以看一下在语法格式上
为where加了一个中括号
也就是说这条语句是可有可无的
那大家可以想一下
如果说没有这个条件
直接用update set来执行的话
那会起到一个什么样的作用呢
如果没有条件的话
我们用update set就可以实现
整张表所有数据的修改了
所以大家可以想象一下
平时我们生活当中业务最多的
实际上是按条件进行修改
所以大家在用这条语句的时候
要关心我们修改的内容
它是有条件的
那么这个条件呢
要写在where的后面
这是update set where这样的语句
可以实现我们数据的修改
接下来第二个数据的删除
那当我不要的数据怎么进删除呢
一说删除大家肯定想到了
前面咱们学了一个命令叫drop
但是大家想一想
drop我们用在database
drop table这样的语句当中了
那drop实际上是把我们的数据库
整体还有表的整体进行删除了
而我现在要删的是表里的数据
换句话来说表没有变
只是数据没有了
那就不能用drop不来解决
我们需要用delete from 表名where条件
在这里面还是一个问题
Where还是用中括号括起来了
它是可选项
那同样的道理
如果delete from表名直接做删除
那它起到的作用就是清空表里的数据
没有任何条件表的数据全部删掉了
但是如果你加了where条件的话
就按照你指定的条件进行有条件的删除了
所以说大家在做这个删除的时候
跟之前嘱咐大家用drop是一样的
是需要慎重考虑的
Delete from表名where条件
可以实现指定删除数据的操作
那我们来看一下任务实施
首先第一个将userinfo表当中的
李丹丹的地址改为恒大城
按照我们前面所说的结构
update set where
我们先把结构可以列出来
那update后面加的是表名
我们待修改的表是userinfo表
所以把它放在update的后面
set后面要加的是更新值
也就是说做什么样的修改
我们要做的修改之前已经分析过了
是把我们的字段U address这个地址改为恒大城
就是等于恒大城
那我们再仔细看一下
对于这个子任务来说
有没有条件
我们再读一遍题将userinfo表当中的数据
李丹丹的住址改为恒大城
如果大家做到update set where为止的话
按照咱们刚才的说法
那么表当中所有数据的地址
都会更新成恒大城
但是题目的要求不是这样的
需求告诉我们要把李丹丹的地址改为恒大城
所以下面我们要加上where子句
Where customerName等于李丹丹
这样就可以锁定待修改的这条记录
就是李丹丹这行记录
可以实现数据的更新操作
做完之后我们记得要查看一下你的数据
看看是不是真正的做了修改
查看数据用到的命令是select * from 表名
我们就可以看出在原表当中
有没有把李丹丹的数据地址改为恒大城
接下来我们来看一下第二个子任务
将cardinfo表当中的类型改成人民币
同样是一个修改操作
那么还是我们的框架
Update set 待修改的是什么呢是cardinfo表
update在后面放上cardinfo
做什么样的修改呢
set后面要解决curType等于人民币
大家观察一下
在这个子任务当中
我没有where子句
为什么不写where子句呢
大家来想一想
cardinfo表当中的类型curtype改为人民币
他是一个相当于批量修改的操作
也就是说跟每一行记录没有确切的关系
是整个表当中所有的curtype这一列
也就说这个字段的内容都改成是人民币
所以在这里面是没有条件的
做的是批量修改
那么当然我可以把where子句省略掉了
所以大家来看update set
可以实现的是批量修改
那同样的改完之后
我们需要select * from 表名也就是from
我们的cardinfo表
来看一下数据有没有真正的实现这个更新
如果说发现表都换成人民币了
我们这个问题就解决了
这个任务也完成了
接下来我们来看子任务三
第三个字任务是删除
指定这个编号的交易信息
删除我们用到的是delete from where
所以在这个框架的基础上
delete from后面我们加的是表名transinfo
where什么条件
刚刚咱们说过了
如果这个地方不加where
那么你就把整个表的数据都做了清空操作了
而我们是要求删除指定编号的
那where后面就可以
加上出transID等于什么什么什么编号
这样的话就可以把
指定编号的这条数据进行一个删除
那好我们三个子任务已经完成了
大家可以想象一下啊
那如果说这个问题我发生一些变化
比如说编号我改一下
让你删除指定编号的信息
比如说修改的时候
我改一下不是那个人了
换了另外一个人了
那么大家能不能解决
实际上就在咱们的语法框架的基础上
做一个修改就可以了
那么将来大家如果做系统的话
我们直接把刚才我们写编号的这个地方
我这个地方换成变量就可以实现
对指定的这个记录请删除了
同样的道理
把人名的地方我换成变量
也可以实现对指定人名
他的地址进行一个修改
那么修改之后删除之后
大家记得要通过select *from表名
在确认一下结果
看看我们的操作是否成功
今天的拓展任务是
员工管理数据库数据表的修改和删除
今天的课程到此结束
感谢大家的聆听
-模块1、数据库的基础知识
--数据库的基础知识
-模块2、MYSQL介绍与安装
--MYSQL介绍与安装
-模块3、银行存取款机数据库的创建与维护
--银行存取款机数据库的创建与维护
-模块4、银行存取款机数据库的设计
--银行存取款机数据库的设计
-模块1、表的创建
--2.1表的创建
--表的创建
-模块2、表的管理
--2.2表的管理
--表的管理
-模块3、索引
--2.3索引
--索引
-实践小课堂:宠物电商管理平台数据库和表的创建
-模块1、银行存取款机数据插入、修改和删除
--银行存取款机数据插入、修改和删除
-模块2、银行存取款机简单查询
--银行存取款机简单查询和统计查询
-模块3、银行存取款机连接查询
--3.3连接查询
--银行存取款机连接查询
-模块4、银行存取款机子查询
--3.4子查询
--银行存取款机子查询
-模块5、银行存取款机分类汇总与排序
--银行存取款机分类汇总与排序
-模块6、银行存取款机视图
--银行存取款机视图
-模块1、银行存取款机存储过程
--4.1.2事务
--银行存取款机存储过程
-模块2、银行存取款机触发器
--银行存取款机触发器
-模块1、MYSQL用户管理
--MYSQL用户管理
-模块2、MYSQL权限管理
--MYSQL权限管理
-模块3、MYSQL数据库的锁机制
--MYSQL数据库的锁机制
-模块4、MYSQL备份和恢复
--MYSQL备份和恢复