-- 清空数据库中的所有表,但保留数据库结构
-- 使用以下命令可以清空指定数据库中的所有表数据,但不会删除表结构。
-- 请注意,这将删除所有表中的数据,无法恢复,请谨慎操作。
USE your_database_name;
-- 获取所有表名并生成删除语句
SET FOREIGN_KEY_CHECKS = 0; -- 关闭外键检查,防止删除时外键约束报错
SELECT Concat('TRUNCATE TABLE ', table_name, ';')
FROM information_schema.tables
WHERE table_schema = 'your_database_name';
-- 执行上述查询结果生成的SQL语句来清空所有表
SET FOREIGN_KEY_CHECKS = 1; -- 恢复外键检查
-- 如果你需要直接执行清空操作,可以使用如下存储过程:
DELIMITER $$
CREATE PROCEDURE truncate_all_tables()
BEGIN
SET FOREIGN_KEY_CHECKS = 0;
SELECT Concat('TRUNCATE TABLE ', table_name, ';')
INTO @truncate_sql
FROM information_schema.tables
WHERE table_schema = 'your_database_name';
PREPARE stmt FROM @truncate_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;
END$$
DELIMITER ;
-- 调用存储过程清空所有表
CALL truncate_all_tables();
SET FOREIGN_KEY_CHECKS = 0; 用于关闭外键检查,以防止在清空表时因外键约束而报错。information_schema.tables 获取当前数据库中所有表的名称,并生成 TRUNCATE TABLE 语句。SET FOREIGN_KEY_CHECKS = 1; 用于恢复外键检查,确保数据库的完整性。请根据实际情况替换 your_database_name 为你的数据库名称。
上一篇:mysql重命名表命令
下一篇:mysql 修改数据
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站