mysql delete limit 使用方法详解

 更新时间:2014年11月14日 12:42:06   投稿:mdxy-dxy  
今天研究cms系统的时候发现,delete 语句后面有个limit,一直都是select查询的时候才使用,不懂为什么要用这个,正好就百度一下为大家分享下delete中使用limit方法与有点

mysql delete limit优点:

用于DELETE的MySQL唯一的LIMIT row_count选项用于告知服务器在控制命令被返回到客户端前被删除的行的最大值。本选项用于确保一个DELETE语句不会占用过多的时间。您可以只重复DELETE语句,直到相关行的数目少于LIMIT值为止。

如果DELETE语句包括一个ORDER BY子句,则各行按照子句中指定的顺序进行删除。此子句只在与LIMIT联用是才起作用。例如,以下子句用于查找与WHERE子句对应的行,使用timestamp_column进行分类,并删除第一(最旧的)行:

DELETE FROM somelog WHERE user = 'jcole' ORDER BY timestamp_column LIMIT 1;

delete limit使用方法:

单表语法:delete [low_priority] [quick] [ignore] from tbl_name
[where where_definition]
[order by ...]
[limit row_count]

删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

delete from table_name
或者:
delete * from table_name

下在为删除指定区别如0,30

delete from db limit 0,30

这里基本我测试都通不过,delete from db limit 30 是可以测试通过的,不知道是不是我的版本问题

好像limit 后面是指删除多少条记录,并没有给像select 中的起始记录数样!

然后如果我想limit 30 应该是删除默认的,也就跟select * from db limit 0, 30差不多,

select from `sheet1` where 1 limit 0, 1
delete from `sheet1` where 1 limit 1

对于记录数较多的情况,我们一般用limit 100

delete from tag_list where aid='6666' limit 100;

delete表连接不支持limit,该如何处理

delete表连接不支持limit
mysql> delete test1 from test1 join test2 on test1.id=test2.id limit 10;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit 10' at line 1
mysql>

------解决思路----------------------
delete A FROM test1 A INNER JOIN (SELECT ID FROM test2 limit 10) B
on A.id=B.id ;

相关文章

  • 详解SparkSql输出数据的方式

    详解SparkSql输出数据的方式

    在处理数据时,SparkSql提供了多种数据输出方式,包括普通文件输出、保存到数据库和保存到Hive,普通文件输出支持追加模式、覆写模式、报错模式和忽略模式,本文介绍SparkSql输出数据的方式,感兴趣的朋友一起看看吧
    2024-11-11
  • 解析数据库分页的两种方法对比(row_number()over()和top的对比)

    解析数据库分页的两种方法对比(row_number()over()和top的对比)

    本篇文章是对数据库分页的两种方法对比(row_number()over()和top的对比)进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • mysql 5.7.19 二进制最新安装

    mysql 5.7.19 二进制最新安装

    这篇文章主要介绍了mysql 5.7.19 二进制最新安装的相关资料,需要的朋友可以参考下
    2017-10-10
  • Windows Server 2003 下配置 MySQL 集群(Cluster)教程

    Windows Server 2003 下配置 MySQL 集群(Cluster)教程

    这篇文章主要介绍了Windows Server 2003 下配置 MySQL 集群(Cluster)教程,本文先是讲解了原理知识,然后给出详细配置步骤和操作方法,需要的朋友可以参考下
    2015-06-06
  • mysql授权、启动、启动服务常用命令

    mysql授权、启动、启动服务常用命令

    本篇文章给大家分享了mysql授权、启动、启动服务常用命令总结,希望我们整理的内容对大家有用。
    2018-03-03
  • asp采用ODBC接口访问MySQL的方法

    asp采用ODBC接口访问MySQL的方法

    asp采用ODBC接口访问MySQL的方法...
    2007-07-07
  • mysql错误码1045解决方案

    mysql错误码1045解决方案

    当使用数据库连接工具访问MySQL时,可能会出现错误码1045,导致无法登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • mysql8.0忘记密码的详细解决方法

    mysql8.0忘记密码的详细解决方法

    很早前安装了MYSQL,现在由于需要使用MYSQL但忘记密码,所以下面这篇文章主要给大家介绍了关于mysql8.0忘记密码的详细解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • mysql中的多个字段最大最小值

    mysql中的多个字段最大最小值

    这篇文章主要介绍了mysql中的多个字段最大最小值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • mysql获取随机数据的方法

    mysql获取随机数据的方法

    在mysql中获取随机数据方法很简单只要使用order by rand()即可了,但是如果你是百万级数据量,使用order by rand()获取随机数据你会等死去,下面我来介绍具体的解决办法
    2013-11-11

最新评论