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


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

    4、修改操作

    4.1 语法

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

    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 条件;
    
    • 1

    image-20220501110102158

    5.2 注意事项

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

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

      image-20220501110428856

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

  • 相关阅读:
    魔改车钥匙实现远程控车:(2)距离感应的实现
    Visual Studio 2019 + LibTorch + CUDA11.6 环境配置
    LeetCode 热题 HOT 100:二叉树专题
    Hbase基本使用,读写原理,性能优化学习
    团队管理之高效开发基础认知
    2-2Linux下文件操作常用命令
    GitHub上标星120k的Java进阶面试教程等!(建议收藏)
    每天一个数据分析题(三百七十九)- 用户留存
    强大的JTAG边界扫描(5):FPGA边界扫描应用
    2022年您应该考虑使用的最佳WordPress主题
  • 原文地址:https://blog.csdn.net/m0_53117341/article/details/126081525