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

时间:2021-05-02

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

删除数据

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

删除指定条件的数据

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

? 1 delete from User where id = 1;

删除表内所有数据

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

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

? 1 delete from User;

释放磁盘空间

? 1 optimize table User;

删除数据表

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

  • 删除数据表内数据以及表结构
  • 只删除表内数据,保留表结构
  • drop

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

    ? 1 drop table User;

    truncate

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

    ? 1 truncate table User;

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

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

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

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

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

    ? 1 drop table if exists tablename`;

    truncate只能这样使用:

    ? 1 truncate table `tp_trade`.`setids`;

    总结

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

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

    原文链接:https://segmentfault.com/a/1190000037720376

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

    相关文章