MySQL truncate table语句的使用

 更新时间:2021年03月19日 22:06:21   作者:丁海龙  
这篇文章主要介绍了MySQL truncate table语句的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Truncate table语句用来删除/截断表里的所有数据

  • 和delete删除所有表数据在逻辑上含义相同,但性能更快
  • 类似执行了drop table和create table两个语句

执行代码

mysql> select * from students_bak;
+-----+----------+--------+---------+
| sid | sname | gender | dept_id |
+-----+----------+--------+---------+
| 101 | zhangsan | male |  10 |
| 1 | aa  | 1  |  1 |
+-----+----------+--------+---------+
2 rows in set (0.00 sec)

mysql> truncate table students_bak;
Query OK, 0 rows affected (0.16 sec)

mysql> select * from students_bak;
Empty set (0.00 sec)

mysql> set autocommit=off;
Query OK, 0 rows affected (0.01 sec)

mysql> select * from students3;
+-----+-------+--------+---------+--------+
| sid | sname | gender | dept_id | sname2 |
+-----+-------+--------+---------+--------+
| 100 | NULL | 1  |  1 | NULL |
+-----+-------+--------+---------+--------+
1 row in set (0.01 sec)

mysql> truncate table students3;
Query OK, 0 rows affected (0.06 sec)

mysql> rollback;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from students3;
Empty set (0.00 sec)

mysql> delete from students;
Query OK, 5 rows affected (0.00 sec)

mysql> select * from students;
Empty set (0.00 sec)

mysql> rollback;
Query OK, 0 rows affected (0.07 sec)

mysql> select * from students;
+-----+-------+--------+---------+
| sid | sname | gender | dept_id |
+-----+-------+--------+---------+
| 1 | aa | 3  |  1 |
| 4 | cc | 3  |  1 |
| 5 | dd | 1  |  2 |
| 6 | aac | 1  |  1 |
| 10 | a  | 1  |  1 |
+-----+-------+--------+---------+
5 rows in set (0.00 sec)

truncate需要什么权限

truncate的执行是先drop后create的, 所以truncate包含drop和create,是一个复合的动作, 对于create不用赋予, 所以只需要赋予drop权限就可以了

到此这篇关于MySQL truncate table语句的使用的文章就介绍到这了,更多相关MySQL truncate table内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Navicat连接远程服务器里docker中mysql的方法(已解决)

    Navicat连接远程服务器里docker中mysql的方法(已解决)

    相信大家都有在远程服务器上进行开发吧,其中MySQL的使用率应该也会挺高,这篇文章主要给大家介绍了关于Navicat连接远程服务器里docker中mysql的相关资料,需要的朋友可以参考下
    2024-04-04
  • mysql中InnoDB幻读解决方案与机制

    mysql中InnoDB幻读解决方案与机制

    本文主要介绍了mysql中InnoDB幻读解决方案与机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03
  • mysql断电后无法启动的问题小结

    mysql断电后无法启动的问题小结

    这篇文章主要介绍了mysql断电后无法启动的问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-04-04
  • MySQL死锁检查处理的正常方法

    MySQL死锁检查处理的正常方法

    这篇文章主要给大家介绍了关于MySQL死锁检查处理的正常方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • MySQL数据类型及库和表的操作大全

    MySQL数据类型及库和表的操作大全

    MySQL数据库操作包括库的创建、修改、删除和备份,表的创建、修改、删除和数据类型,数据类型分为数值类型、小数类型、字符串类型、日期和时间类型以及枚举和集合类型,本文给大家介绍MySQL数据类型及库和表的操作大全,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • dbeaver如何导出mysql数据库

    dbeaver如何导出mysql数据库

    DBeaver导出MySQL数据库的简便方法:右键点击表选择“Tools”->“Dump database”,设定输出文件夹(例如桌面),点击开始即可导出SQL文件,此方法基于个人经验,供参考
    2024-10-10
  • MySQL中存储时间的最佳实践指南

    MySQL中存储时间的最佳实践指南

    这篇文章主要给大家介绍了关于MySQL中存储时间的最佳实践,文中详细介绍了哪种存储时间的方式更好,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友可以参考下
    2021-07-07
  • MySQL笔记之字符串函数的应用

    MySQL笔记之字符串函数的应用

    字符串操作在程序设计中是非常重要的组成部分,而MySQL数据库中的字符串操作却相当简单
    2013-05-05
  • MySQL如何使用limit获取最后一条记录

    MySQL如何使用limit获取最后一条记录

    这篇文章主要介绍了MySQL如何使用limit获取最后一条记录问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • mysql深度分页的几种解决方案

    mysql深度分页的几种解决方案

    MySQL深分页需避免OFFSET,改用WHERE条件定位起点,常用游标分页、延迟关联或覆盖索引优化,结合缓存可提升性能,本文主要介绍了mysql深度分页的几种解决方案,感兴趣的可以了解一下
    2025-09-09

最新评论