当前位置:   article > 正文

MySQL删除数据的三种方式 delete+truncate+drop_mysql删除数据命令

mysql删除数据命令

1、方法1 delete 

改方法删除数据的时候,并不是都删除了,而是只是一个标实,当数据量很大的时候,用这个删除,你会发现内存并没有发生减少的变化,如果想要真正的清理空间,还得执行OPTIMUIZE TANLE t_image

自增也不会变,再下一次输入数据的时候,还是会从上一次结尾处加;

  1. //方法1 delete from 删除指定的字段 但是有时候安全验证不允许,where id>=0
  2. //删除并不是都删掉了,只是做一个标实。事物,是可以回头的,
  3. //数据量比较大的时候,是很慢的 所以分表
  4. //自增的时候还是从上一次删除的时候接上的
  5. //如果想要真正的清理空间,还得再写 OPTIMIZE TABLE t_image 可以定期做
  6. sql = "delete from `t_image`";
  7. re = mysql_real_query(&mysql, sql.c_str(), strlen(sql.c_str()));
  8. sql = "OPTIMIZE TABLE `t_image`";
  9. re = mysql_real_query(&mysql, sql.c_str(), strlen(sql.c_str()));
  10. if (re != 0)
  11. {
  12. cout << "delete to create,error:" << mysql_error(&mysql) << endl;
  13. }
  14. else
  15. {
  16. printf("delete successfully\n");
  17. }

2、方法2 truncate

该方法再初始化的时候会用到,是将整个表进行删除,自增索引重新从1开始

空间也清理掉了

  1. //方法2 truncate 初始化的时候会用 将整个表都清理掉,并且自增索引都重新开始
  2. //自增会重新开始,也会清理掉空间,但是delete不会
  3. sql = "truncate `t_image`";
  4. re = mysql_real_query(&mysql, sql.c_str(), strlen(sql.c_str()));
  5. if (re != 0)
  6. {
  7. cout << "truncate to create,error:" << mysql_error(&mysql) << endl;
  8. }
  9. else
  10. {
  11. printf("truncate successfully\n");
  12. }

3、方法3 drop

慎用,会将整个表都删除了,得重新创建表格

  1. //方法3 将整个表都删掉
  2. //也会清理掉空间
  3. sql = "drop table t_image";
  4. re = mysql_real_query(&mysql, sql.c_str(), strlen(sql.c_str()));
  5. if (re != 0)
  6. {
  7. cout << "drop to create,error:" << mysql_error(&mysql) << endl;
  8. }
  9. else
  10. {
  11. printf("drop successfully\n");
  12. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/598625
推荐阅读
相关标签
  

闽ICP备14008679号