唐僧喜欢小龙女

导航

MySql学习之增删改(数据操作语言DML)

1、Mysql之修改

    关键字 update

    1、修改单表的记录

        update 表 set 列1=新值,列2=新值

        where 筛选条件,和查询时的条件是一样的


        需求:修改beauty 中姓周的改成138.。。。
    
            UPDATE `beauty` set phone = '13823332235' WHERE NAME like '%岩';

    2、修改多表的记录

        需求:修改张无忌的女朋友的手机号为114

            update boys bo

            INNER JOIN beauty b on bo.id = b.boyfriend_id

            set b.phone = '114'
            WHERE bo.boyName='张无忌'

            这里要多体会下,之前用的比较少

        需求:修改没有女朋友的女神的男朋友编号都是2号


            UPDATE beauty b

            LEFT JOIN boys bo

            ON b.boyfriend_id = bo.id

            SET b.boyfriend_id = 5

            WHERE bo.id is null

2、Mysql 之 删除 

    delete from 表 where 筛选条件,删除满足条件的整行的记录

        1、单表的删除
            需求: 删除手机号以9 结尾的女神信息

                DELETE from beauty where phone like '%9'

        2、多表的删除

            语法: delete 表1的别名,表2的别名 from 表1 别名  inner|left|right 表2 别名 on 链接条件 where 

            需求:删除张无忌的女朋友的信息

                delete b FROM beauty b INNER JOIN boys bo on
                b.boyfriend_id = bo.id
                where bo.boyName = '张无忌'    

            需求: 删除黄晓明的信息以及他女朋友的信息
                delete b,bo FROM beauty b INNER JOIN boys bo on
                b.boyfriend_id = bo.id where bo.boyName = '黄晓明'


    truncate 语句
    语法: truncate table 表

    和delete的区别
        1、truncate 语句不能加 where条件,delete 可以
        2、删除表数据的时候可以用,效率比delete from 效率高点
        3、删除的表中有自增长列,如果delete 删除后,插入数据时自增长的值从断点处开始,truncate 删除表数据后
            再插入时自增长从0开始
        4、truncate删除 没有返回值,delete 有返回值,truncate 不会返回受影响的行数。
        5、truncate 删除 不能回滚,delete 删除可以回滚

 

posted on 2022-07-12 22:57  与时具进&不忘初心  阅读(39)  评论(0编辑  收藏  举报