溫馨提示×

mysql如何批量刪除數據庫

小億
106
2024-09-03 09:10:31
欄目: 云計算

在MySQL中,要批量刪除數據庫,可以使用循環和動態SQL語句。這里是一個示例,展示了如何使用存儲過程來批量刪除以特定前綴開頭的數據庫:

  1. 首先,創建一個存儲過程,用于批量刪除數據庫:
DELIMITER $$
CREATE PROCEDURE DropDatabasesWithPrefix(IN dbPrefix VARCHAR(255))
BEGIN
    DECLARE done INT DEFAULT 0;
    DECLARE dbName VARCHAR(255);
    DECLARE cur CURSOR FOR SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME LIKE CONCAT(dbPrefix, '%');
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

    OPEN cur;

    read_loop: LOOP
        FETCH cur INTO dbName;
        IF done THEN
            LEAVE read_loop;
        END IF;

        SET @sql = CONCAT('DROP DATABASE ', dbName);
        PREPARE stmt FROM @sql;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END LOOP;

    CLOSE cur;
END$$
DELIMITER ;

這個存儲過程接受一個參數dbPrefix,表示要刪除的數據庫名稱的前綴。

  1. 調用存儲過程,傳入要刪除的數據庫名稱前綴:
CALL DropDatabasesWithPrefix('myprefix_');

這將刪除所有以myprefix_開頭的數據庫。請注意,在執行此操作之前確保備份好相關數據,因為刪除操作是不可逆的。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女