如何彻底清空MySQL数据库中的所有表数据?

清空指定数据库中所有表的记录,但保留表结构
选择要清空的数据库
USE your_database_name;
遍历数据库中的所有表,并清空它们的记录
DELIMITER $$
CREATE PROCEDURE ClearAllTables()
BEGIN
  DECLARE done INT DEFAULT FALSE;
  DECLARE tableName VARCHAR(255);
  DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  OPEN cur;
  read_loop: LOOP
    FETCH cur INTO tableName;
    IF done THEN
      LEAVE read_loop;
    END IF;
    SET @s = CONCAT('TRUNCATE TABLE ', tableName);
    PREPARE stmt FROM @s;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
  END LOOP;
  CLOSE cur;
END$$
DELIMITER ;
调用存储过程清空所有表
CALL ClearAllTables();
清空存储过程
DROP PROCEDURE IF EXISTS ClearAllTables;

SQL脚本包含了以下步骤:

如何彻底清空MySQL数据库中的所有表数据?

1、选择要操作的数据库。

2、创建一个存储过程ClearAllTables,该过程遍历数据库中的所有表。

3、对于每个表,使用TRUNCATE TABLE语句来清空表的记录,但不删除表结构。

如何彻底清空MySQL数据库中的所有表数据?

4、调用存储过程来执行清空操作。

5、删除存储过程,以清理环境。

请将your_database_name替换为实际的数据库名称,在执行此脚本之前,请确保你有足够的权限来执行这些操作,并且已经对数据库进行了备份,以防意外情况发生。

如何彻底清空MySQL数据库中的所有表数据?