数据库概论之MySQL表的增删改查2

大家好,这次给大家带来的是我的新的专栏:数据库,数据库相对来说难度不是那么高,大家只要勤加练习、熟记语法,我相信学好数据库不是什么问题,博主会从0剖析,逐步讲解数据库的知识点,并且会举很多实例。最重要的是,博主不会采用软件,使用最原始的方式 -> 命令行来讲解,这样讲解的好处是逐个语句进行书写,不会造成读者思路跟不上的问题!
👀QQ:162196770
👀微信:PRIDE_Xu_
👀Gitee:https://gitee.com/jialebihaitao
在这里插入图片描述

4、修改操作

4.1 语法

update 表名 set 列名1 =,列名2 =where 条件;
-- 针对哪个表,里面的哪些行,里面的哪些列,改成啥样的值

4.2 注意事项

  1. set关键字不能省略

  2. where条件指的是针对哪些列进行修改,符合条件的才去修改,不符合条件的就不去修改。

  3. 如果where条件省略了,即修改所有记录

  4. 除了where,order bylimit同样还可以使用

  5. update操作的是服务器上存储的数据,而不是临时表了!即修改数据的话,修改的数据就是原始数据!

    image-20220501101242242

  6. 其实这个条件也很危险,甚至不亚于删除操作!

    假如你误删除了表,可以把备份的找回。但是你修改出错了, 不该修改的你修改了,该修改的你没修改,这就完了。如果更改错误,而且你还第一时间没发现,哪你就会接着去执行其他操作,等到出问题的时候才发现BBQ了,但是你还无从改起,要是把备份的表还原一下,你还是需要去重复之前的操作,需要消耗很大精力的!所以对于数据这一块,嗷嗷重要,不可忽视也不可儿戏!

举几个栗子吧~

栗子1:将孙悟空同学的数学成绩变更为 80 分

image-20220430222255935

栗子2:将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分

image-20220430222408227

栗子3:将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

这里就需要先按照总成绩排序,同时limit倒数前三名

再去执行+30操作

image-20220430222800435

但是发生了Out of range,这是咋回事?

其实我们之前把各科成绩都设成了decimal(3,1),这代表了有效数字有3位,小数点之后1位。那么我们拿富察贵人举例,44.6+80=124.6明显超出我们规定的decimal(3,1)的范围了,是会报错的。

那么我们就加20吧。

image-20220430223030393

但是我们还发现最下面:

Rows matched:3 Changed:2

这又是咋回事?

我们看安陵容的成绩,都是null,我们之前说过null是不参与运算的。所以改变的只有两个值,并没有全改变。所以才会发现:Rows matched:3 Changed:2

栗子4:将所有同学的语文成绩更新为原来的 2 倍(不写where默认全部翻倍)

image-20220501101453547

我们可以看见,又超出范围了。我们之前设定的范围是decimal(3,1),将语文成绩*2之后,会超出3位有效数字的范围。

那么我们将语文成绩更新到之前的一半吧。

image-20220501103330390

5、删除操作

5.1 语法

delete from 表名 where 条件;

image-20220501110102158

5.2 注意事项

  1. 一旦where 条件里面的条件写错了,那么可能影响的范围就会不可控。如果不写条件,就会把整个表里面的数据删除掉。

  2. delete操作是删除表里面的数据,drop是直接就把表给删除掉了

    image-20220501110428856

我们以后进入公司之后,面对危险性很高的操作,你还怕出错,最好的办法就是拉上一个人,你们俩一起操作,错误的可能性就大大降低了。那么你可以叫你的师傅来(你刚开始进公司,公司会派给你一个比你早进公司的人帮助你快速适应,当你成长起来之后,你也会成为别人的师傅)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加勒比海涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值