id 自增------删除数据后恢复到删除前自增id

摘要:
删除数据后,只需删除整个表即可。将来不可能添加数据。删除内容,释放空间,但不删除定义(表定义和结构)。它只是清除表数据。执行语句后,由于之前删除了行数据,因此将出现不连续的标识列(表示删除不会释放空间)。在truncatetableTeacher之后,将添加三条新数据。上图显示标识列是连续的(表示截断删除会释放空间)。注:

删除数据后,执行下面语句: 

    ALTER TBALE TableName AUTO_INCREMENT=1

mysql删除比较

一、DROP

  drop  table tablename

    绝招:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表

二、TRUNCATE

  truncate table tablename

    绝招:删除内容、释放空间但不删除定义(表定义和结构)。与drop不同的是,他只是清空表数据而已.执行语句之后,发现数据表的结构还在,也就是不删除定义.

三、DELETE

    delete from tbname 清空表

    delete form tablename where 删除某条记录

    绝招: --虽然也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)

至于释放空间,看下下面两幅图.你们就会明白的

id 自增------删除数据后恢复到删除前自增id第1张

上图:Id列标识列,因之前delete过行数据,所以会出现标识列不连续(体现了delete删除是不释放空间的)

  经过truncate table Teacher 之后 再新增三条数据

id 自增------删除数据后恢复到删除前自增id第2张

上图:同样Id是标识列,发现插入数据的时候,标识列连续了(体现了truncate删除是释放空间)

注意:truncate 不能删除行数据,要删就要把表清空

比较:

  truncate 和 delete 都可以清空表但是,truncate 比 delete速度快,且使用的系统和事务日志资源少。

  TRUNCATE TABLE TableName是一种快速的,无日志记录的,删除表中所有记录的方法。

  delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。所以可以对delete操作进行roll back

  当使用truncate  表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。

    truncate 在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而 truncate 则不会被撤销。

 

免责声明:文章转载自《id 自增------删除数据后恢复到删除前自增id》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇K8S上的ELK和应用日志上报实战vue之templete模板下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

从深处去掌握数据校验@Valid的作用(级联校验)

每篇一句 NBA里有两大笑话:一是科比没天赋,二是詹姆斯没技术 相关阅读 【小家Java】深入了解数据校验:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【小家Spring】让Controller支持对平铺参数执行数据校验(默认Spring MVC使用@V...

了解SQL Server锁争用:NOLOCK 和 ROWLOCK 的秘密

http://blog.csdn.net/Atwind/article/details/1832844 关系型数据库,如SQL Server,使用锁来避免多用户修改数据时的并发冲突。当一组数据被某个用户锁定时,除非第一个用户结束修改并释放锁,否则其他用户就无法修改该组数据。 有些数据库,包括SQL Server,用锁来避免用户检索未递交的修改记录。在这...

pandas的DataFrame与python的dict字典之间的相互转换

一、dict生成DataFrame  1、如果只有一个dict,即一行dataframe数据 # 注:dict的形式必须是如下2种,不然会报错 # 1、dict外面加一层list【】 dict_a = [{'a': 0, 'b': 1, 'c': 2}] # 2、dict内部的数据至少有1个或多个是list形式 # 注:此时dict外面如果加上li...

Spark Partition

分区的意义 Spark RDD 是一种分布式的数据集,由于数据量很大,因此它被切分成不同分区并存储在各个Worker节点的内存中。从而当我们对RDD进行操作时,实际上是对每个分区中的数据并行操作。Spark根据字段进行partition类似于关系型数据库中的分区,可以加大并行度,提高执行效率。Spark从HDFS读入文件的分区数默认等于HDFS文件的块数(...

Mac系统安装Aircrack-ng破解附近wifi密码(1)

  第一步, 安装macport, 安装Xcode   安装macport macport 是一个工具 管理软件包的一个工具, 我们也可以通过别的方式安装Aircrack-ng, 但是通过macport安装Aircrack-ng的速度是最快的, (Mac系统要求安装Xcode, 可以参考macport的首页)   macport没安装的话通过:https:...

centos 配置rsync+inotify数据实时同步2

一、Rsync服务简介 1. 什么是Rsync 它是一个远程数据同步工具,它在同步文件的同时,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。可以保持原来文件的权限、时间、软硬链接等附加信息。 2. Rsyn...