欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 存儲過程 刪除所有數據

方一強2年前10瀏覽0評論

MySQL存儲過程是一種預編譯的程序單元,可以批量執行SQL語句。在某些情況下,我們可能需要刪除MySQL表中的所有數據。可以使用以下存儲過程來實現:

DELIMITER $$
CREATE PROCEDURE delete_all_data()
BEGIN
DECLARE finish INT DEFAULT 0;
DECLARE tableName CHAR(50);
-- 游標獲取所有表名
DECLARE tableNameCursor CURSOR FOR
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
-- 遍歷所有表并刪除數據
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finish = 1;
OPEN tableNameCursor;
tableDataLoop: LOOP
FETCH tableNameCursor INTO tableName;
IF finish = 1 THEN 
LEAVE tableDataLoop;
END IF;
SET @sql = CONCAT('DELETE FROM ', tableName);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END LOOP tableDataLoop;
CLOSE tableNameCursor;
END$$
DELIMITER ;

運行此存儲過程時,它將獲取當前數據庫中的所有表名,并刪除每個表中的所有數據。可根據實際情況更改該存儲過程中的變量和表名。