1
example_或E_怎麼滴根據前綴字符串
我想丟棄符合前綴E_所有數據庫多個數據庫,使e_database1,e_database2等等都將被丟棄。
命令不工作:
的MySQL數據庫下降E_% 的mysql刪除數據庫E_ *
我不希望在一個給定的數據庫中的所有表,但所有的數據庫在給定的MySQL服務器。
example_或E_怎麼滴根據前綴字符串
我想丟棄符合前綴E_所有數據庫多個數據庫,使e_database1,e_database2等等都將被丟棄。
命令不工作:
的MySQL數據庫下降E_% 的mysql刪除數據庫E_ *
我不希望在一個給定的數據庫中的所有表,但所有的數據庫在給定的MySQL服務器。
你可以用存儲過程是這樣做的:
/* Start stored proc */
DELIMITER //
DROP PROCEDURE IF EXISTS db_clean_up //
CREATE PROCEDURE db_clean_up
(
)
BEGIN
declare done bit default false;
declare deleted varchar(255);
-- Drop DBs
DECLARE cur1 CURSOR FOR SELECT
SCHEMA_NAME
FROM information_schema.SCHEMATA
WHERE SCHEMA_NAME LIKE 'db_prefix%';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur1;
createLoop: LOOP
FETCH cur1 INTO deleted;
IF done THEN
LEAVE createLoop;
END IF;
SET @query = CONCAT('DROP DATABASE `', deleted, '`;');
PREPARE stmt1 FROM @query;
EXECUTE stmt1;
END LOOP createLoop;
CLOSE cur1;
END //
delimiter ;
/* End stored proc */
這應有助於:http://stackoverflow.com/questions/5457286/drop-multiple-databases/8173331#8173331 – dkubb 2011-11-17 19:53:08