• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MySQL删除表数据的方法

    在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。

          如果要清空表中的所有记录,可以使用下面的两种方法:

           DELETE FROM table1

           TRUNCATE TABLE table1

          其中第二条记录中的TABLE是可选的。

          如果要删除表中的部分记录,只能使用DELETE语句。

        DELETE FROM table1 WHERE ...;

          如果DELETE不加WHERE子句,那么它和TRUNCATE TABLE是一样的,但它们有一点不同,那就是DELETE可以返回被删除的记录数,而TRUNCATE TABLE返回的是0。

          如果一个表中有自增字段,使用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE 1或WHERE true。

       DELETE FROM table1 WHERE 1;

           上面的语句在执行时将扫描每一条记录。但它并不比较,因为这个WHERE条件永远为true。这样做虽然可以保持自增的最大值,但由于它是扫描了所有的记录,因此,它的执行成本要比没有WHERE子句的DELETE大得多。  

          DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录,但执行速度不快。

          truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。而且还可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。

          和标准的SQL语句不同,DELETE支持ORDER BY和LIMIT子句,通过这两个子句,我们可以更好地控制要删除的记录。如当我们只想删除WHERE子句过滤出来的记录的一部分,可以使用LIMIT,如果要删除后几条记录,可以通过ORDER BY和LIMIT配合使用。假设我们要删除users表中name等于"Mike"的前6条记录。可以使用如下的DELETE语句:

       DELETE FROM users WHERE name = 'Mike' LIMIT 6;

    一般MySQL并不确定删除的这6条记录是哪6条,为了更保险,我们可以使用ORDER BY对记录进行排序。
    DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;

    总结

    以上就是本文关于MySQL删除表数据的方法的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:MySQL prepare原理详解、几个比较重要的MySQL变量、ORACLE SQL语句优化技术要点解析等,有什么问题可以随时留言,小编会及时回复大家的。

    您可能感兴趣的文章:
    • php中批量删除Mysql中相同前缀的数据表的代码
    • MySQL创建和删除数据表的命令及语法详解
    • MySQL入门(四) 数据表的数据插入、更新、删除
    • 删除mysql数据表如何操作
    • mysql drop database删除数据库命令实例讲解
    • mysql查找删除重复数据并只保留一条实例详解
    • MySQL实现快速删除所有表而不删除数据库的方法
    • MySQL删除数据Delete与Truncate语句使用比较
    • MySQL 删除数据库中重复数据方法小结
    • Mysql删除数据以及数据表的方法实例
    上一篇:MySQL 声明变量及存储过程分析
    下一篇:mysql5.7.19 解压版安装教程详解(附送纯净破解中文版SQLYog)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    MySQL删除表数据的方法 MySQL,删除,表,数据,的,方法,