在MySQL數據庫中,有時候需要清除所有表的所有數據,以下是實現這一操作的步驟:
TRUNCATE table_name;
上面的代碼是用來清空單個表的數據。如果要清空所有表的數據,則需要使用以下步驟。
SET foreign_key_checks = 0; SET group_concat_max_len = 4294967295; SET @tables = NULL; SELECT GROUP_CONCAT(TABLE_NAME) INTO @tables FROM information_schema.tables WHERE table_schema = (SELECT DATABASE()); SELECT IFNULL(CONCAT('TRUNCATE TABLE ', @tables, ';'), '') INTO @tables; SELECT @tables; PREPARE stmt FROM @tables; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET foreign_key_checks = 1;
在執行上面的代碼之前,建議先備份數據庫,以避免意外情況。