如何用sql批量删除数据库(比如数据库名以java开头),导师要求要用sql实现,不是表!是数据库!
1条回答 默认 最新
关注 DELIMITER // CREATE PROCEDURE DropDatabasesWithPrefix(prefix VARCHAR(255)) BEGIN DECLARE done INT DEFAULT FALSE; DECLARE dbName VARCHAR(255); DECLARE cur CURSOR FOR SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME LIKE CONCAT(prefix, '%'); DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur; read_loop: LOOP FETCH cur INTO dbName; IF done THEN LEAVE read_loop; END IF; SET @dropStmt = CONCAT('DROP DATABASE `', dbName, '`'); PREPARE stmt FROM @dropStmt; EXECUTE stmt; DEALLOCATE PREPARE stmt; END LOOP; CLOSE cur; END // DELIMITER ; -- 调用存储过程 CALL DropDatabasesWithPrefix('java');
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
- ¥50 爬虫预算充足,跪巨佬
- ¥15 滑块验证码拖动问题悬赏
- ¥15 Wanted but not invoked:Actually, there were zero interactions with this moc
- ¥20 怎么驱动tb6612
- ¥15 Arcgis 3D效果点要素
- ¥15 在执行yolo训练脚本的时候,没有报错,在扫描val这一步后就推出执行了
- ¥15 delphi开发的WEBSERVER改用HTTPS协议
- ¥15 pic16f877A单片机的计数器proteus仿真失效
- ¥100 调查 Vitis AI 中验证 .xmodel 量化后的正确性