[英]mySQL: command to truncate all tables
我正在使用MySQL。
什么是截断我的数据库的所有表的mysql命令 ?
我的意思是什么是mysql命令,它清空我的数据库中的所有表不会丢弃所有表。
试试这个代码发现在这里
DELIMITER $$
CREATE PROCEDURE TruncateTables()
BEGIN
DECLARE done BOOL DEFAULT FALSE;
DECLARE truncate_command VARCHAR(512);
DECLARE truncate_cur
CURSOR FOR /*This is the query which selects the tables we want to truncate*/
SELECT CONCAT('TRUNCATE TABLE ',table_name)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME LIKE 'prefix_%';
DECLARE
CONTINUE HANDLER FOR
SQLSTATE '02000'
SET done = TRUE;
OPEN truncate_cur;
truncate_loop: LOOP
FETCH truncate_cur INTO truncate_command;
SET @truncate_command = truncate_command;
IF done THEN
CLOSE truncate_cur;
LEAVE truncate_loop;
END IF;
/*Main part - preparing and executing the statement*/
PREPARE truncate_command_stmt FROM @truncate_command;
EXECUTE truncate_command_stmt;
END LOOP;
END$$
DELIMITER ;
我最喜欢的方式是使用Navicat。
使用Control A检查所有表。 然后右键单击并选择“截断表”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.