删除mysql中多个表的所有数据

  • 本文关键字:数据 mysql 删除 mysql
  • 更新时间 :
  • 英文 :


我有一个100表的数据库。我想从所有表中删除数据使用mysql命令或在phpmyadmin

  • 备份您的数据库结构(使用mysqldump--no-data命令行选项)
  • 数据库。
  • 从转储中恢复数据库。

这个方法对外键关系没有问题。而不是使用DELETE/TRUNCATE,你必须按照明确的顺序清除表的内容(如果你在从表之前清除主表,那么删除将由于引用约束违反而失败)。

使用information_schema。表进行动态查询和执行。

select concat('delete from ',TABLE_NAME,';') from information_schema.TABLES where TABLE_SCHEMA='databasename';

或者试试这个

SET FOREIGN_KEY_CHECKS = 0;
SET @TABLES = NULL;
SELECT GROUP_CONCAT('delete from ', table_name,';') INTO @TABLES FROM information_schema.tables 
WHERE table_schema = 'databasename' and table_name in ('tbl_audit_trail','tbl_celery');

SET @TABLES= replace( @TABLES,',','');
select @TABLES;

复制结果并执行

最新更新