要删除MySQL数据库中的所有表,您可以使用DROP TABLE
命令配合information_schema.tables
视图。以下是步骤:
mydatabase
,则使用以下命令选择它:USE mydatabase;
DROP TABLE IF EXISTS `*`;
如果您使用的是MySQL 8.0或更高版本,并且想要删除数据库中的所有表,您可以使用以下存储过程:
DELIMITER //
CREATE PROCEDURE DeleteAllTables()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE tbl_name VARCHAR(255);
DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO tbl_name;
IF done THEN
LEAVE read_loop;
END IF;
SET @sql_text = CONCAT('DROP TABLE IF EXISTS ', tbl_name);
PREPARE sql_stmt FROM @sql_text;
EXECUTE sql_stmt;
DEALLOCATE PREPARE sql_stmt;
END LOOP;
CLOSE cur;
END //
DELIMITER ;
CALL DeleteAllTables();
请确保在执行这些操作之前备份您的数据,以防万一发生意外丢失。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
推荐阅读:mysql如何删除数据库所有表