美文网首页
MySQL增删改查(2)

MySQL增删改查(2)

作者: djz0306 | 来源:发表于2019-06-15 11:10 被阅读0次

    上一篇回顾了增删改查中的增,这篇回顾增删改查中的“改”和“删”。先回顾“改”,免得需要删了以后没有足够数据用来复习改。在做改的回顾之前,先往表里面多插入几条数据,同时插入多条数据的时候,每条 values 以英文逗号分隔即可。插入完成后,以下面的表做改的练习。

    现有的表内容.jpg

    改通常是对某一个或多个值做修改,和增一样,先梳理一下需要确定的元素。就像平时修改 excel 中的元素一样,改需要确定

    1. 改哪张表
    2. 该哪些列
    3. 改哪些行
    4. 改成什么值

    确定了这些条件以后修改的语句格式也就出来了,如下所示:

    update class set sname='邢育森' where id = 1;
    

    格式为:update 表名 set 列=值 where 表达式; 改完以后的结果如下

    修改id=1的名字.jpg

    其中 where 表达式只要是“真”就会执行

    例如要修改工资高于80000,且补助超过777的人,把他们的补助降低到666。那么语句为:

    update class set subsidy = 666 where salary > 80000 and subsidy >= 777;
    

    改完以后的结果为:

    修改多行.jpg

    对照上面的两张表可以看到邢育森,佟湘玉,白展堂,郭芙蓉的补助都被改成了666,而吕轻侯的工资刚好等于80000,所以他的补助没有被改,而李四的工资是大于80000了,不过原来的补助小于777,所以也没有修改。

    删语句比较简单,同样的,梳理一下思路。如果要删除的话,需要有哪些条件

    1. 要删除那张表里面的数据
    2. 要删除哪些行

    如果要删除性别没有填写的用户,删除的操作如下:

    delete from class where gender = '';
    

    删除以后的表格为:

    删除性别没有填写的行.jpg

    格式为:delete from 表名 where 表达式;

    这里有一点需要区分一下,删除是指删除一行,不是删除某一个值,删除某一个值的操作可以是用上面的改操作来执行,改为空或者其他值。

    删除之前请务必确认,尽量做逻辑删除而不是物理删除,即增加 isdelete 列用修改 isdelete 等于0或者1的方式来表示删除或者未删除状态。where表达式不填写则会清空表中数据

    这篇复习了增删改查中的改和删。查是用到最多也是最复杂的一项,留到最后复习

    相关文章

      网友评论

          本文标题:MySQL增删改查(2)

          本文链接:https://www.haomeiwen.com/subject/gqzvfctx.html