MySQL truncate table语句的使用

时间:2021-05-24

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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章