MySQL删除数据以及数据表的方法的解决办法

2022-11-12 09:15:13
内容摘要
这篇文章主要为大家详细介绍了MySQL删除数据以及数据表的方法的简单示例,具有一定的参考价值,可以用来参考一下。 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 在Mysql
文章正文

这篇文章主要为大家详细介绍了MySQL删除数据以及数据表的方法的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随数据库教程的小编来看看吧!

在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有数据都会消失。

删除数据

删除表内数据,使用delete关键字。

删除指定条件的数据

删除用户表内id 为1 的用户:

代码如下:


delete from User where id = 1;

MySQL删除数据以及数据表的方法实例

删除表内所有数据

删除表中的全部数据,表结构不变。

对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间。

代码如下:


delete from User;

MySQL删除数据以及数据表的方法实例

释放磁盘空间

代码如下:


optimize table User;

MySQL删除数据以及数据表的方法实例

删除数据表

删除数据表分为两种方式:

  1. 删除数据表内数据以及表结构
  2. 只删除表内数据,保留表结构

drop

使用drop关键词会删除整张表,啥都没有了。

代码如下:


drop table User;

MySQL删除数据以及数据表的方法实例

truncate

truncate 关键字则只删除表内数据,会保留表结构。

代码如下:


truncate table User;

MySQL删除数据以及数据表的方法实例

思考题:如何批量删除前缀相同的表?

想要实现 drop table like 'wp_%',没有直接可用的命令,不过可以通过Mysql 的语法来拼接。

代码如下:


-- 删除”wp_”开头的表:
SELECT CONCAT( 'drop table ', table_name, ';' ) AS statement
FROM information_schema.tables
WHERE table_schema = 'database_name' AND table_name LIKE 'wp_%';

MySQL删除数据以及数据表的方法实例

其中database_name换成数据库的名称,wp_换成需要批量删除的表前缀。

注意只有drop命令才能这样用:

代码如下:


drop table if exists tablename`;

MySQL删除数据以及数据表的方法实例

truncate只能这样使用:

代码如下:


truncate table `tp_trade`.`setids`;

MySQL删除数据以及数据表的方法实例

总结

  • 当你不再需要该表时, 用drop;
  • 当你仍要保留该表,但要删除所有记录时, 用truncate;
  • 当你要删除部分记录时, 用delete。

到此这篇关于Mysql删除数据以及数据表的文章就介绍到这了,更多相关Mysql删除数据及数据表内容请搜索512笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持512笔记!

注:关于MySQL删除数据以及数据表的方法的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!