zoukankan      html  css  js  c++  java
  • 第三节:删除语句

    一、删除语句

      1、方式一

        (1)单表的删除

    delete from 表名 【where 筛选条件】【limit条目数】
    

          如果没有指定 where 子句,MySQL 表中的所有记录将被删除,可以在 where 子句中指定任何条件。

        (2)多表的删除【补充】

          SQL92 语法:

    delete 表1的别名, 表2的别名
    from 表1 别名, 表2 别名
    where 连接条件
    and 筛选条件
    

      

          SQL99 语法:

    delete 表1的别名, 表2的别名
    from 表1 别名 
    inner | left | right join 表2 别名
    on 连接条件
    where 筛选条件
    

      

      2、方式二

        语法格式:

    truncate table 表名;

    二、案例

      1、delete 案例

        (1)单表的删除:删除手机号以 9 结尾的女生信息

    DELETE FROM beauty WHERE phone LIKE '%9';
    

      

        (2)多表的删除:删除张无忌的女朋友的信息

    SELECT b.*
    FROM beauty b
    INNER JOIN boys bo
    ON b.`boyfriend_id` = bo.`id`
    WHERE bo.`boyName` = '张无忌';
    
    DELETE b
    FROM beauty b
    INNER JOIN boys bo
    ON b.`boyfriend_id` = bo.`id`
    WHERE bo.`boyName` = '张无忌';
    

          使用删除的时候建议使用查询语句先查询。

        (3)多表同时删除:删除黄晓明信息及女朋友信息

    DELETE b, bo
    FROM beauty b
    INNER JOIN boys bo
    ON b.`boyfriend_id` = bo.`id`
    WHERE bo.`boyName` = '黄晓明';
    

      

      2、truncate 案例

        将魅力值大于 100 的男神信息删除(注意:truncate不能添加筛选条件)

    TRUNCATE TABLE boys WHERE usercp > 100;
    

           truncate 相当于把表中的数据清空,只保留表的结构。

    三、delete 与 truncate

      1、delete 可以添加筛选条件,truncate 不可以添加筛选条件;

      2、truncate 效率较高;

      3、truncate 没有返回值,delete 可以返回受影响的行数;

      4、truncate 不可以回滚,delete 可以回滚;

      5、假如要删除的表中有自增长列,

        truncate 删除后,如果再插入,标识列从1开始;

        delete 删除后,如果再插入,标识列从断点开始;

  • 相关阅读:
    数据库的优化
    phpcms网站搬家 至 服务器 完整并且详细过程
    phpcms网页替换验证码功能 及 搜索功能
    用phpcms切换中英文网页的方法(不用解析二级域名)、phpcms完成pc和手机端切换(同一域名)
    php判断手机段登录,以及phpcms手机PC双模板调用
    搭建php环境
    TP引用样式表和js文件及验证码
    TP父类及模板继承
    TP增删改
    单例模式
  • 原文地址:https://www.cnblogs.com/niujifei/p/14922691.html
Copyright © 2011-2022 走看看