在mysql数据库中,当需要对多张表进行相同操作的时候,我们一般会使用循环来实现。下面我们就来介绍如何在mysql中循环每张表。
-- 首先获取数据库中所有表的表名SELECT table_name FROM information_schema.tables WHERE table_schema='your_database_name';-- 然后将表名保存到一个临时表中CREATE TEMPORARY TABLE table_names (table_name VARCHAR(50));INSERT INTO table_names SELECT table_name FROM information_schema.tables WHERE table_schema='your_database_name';-- 开始循环每张表SET @rownum = 0;SELECT COUNT(*) INTO @table_count FROM table_names;WHILE @rownum< @table_count DOSET @rownum = @rownum + 1;SELECT table_name INTO @current_table_name FROM table_names LIMIT @rownum, 1;-- 在这里写需要执行的代码,例如:SELECT COUNT(*) AS count FROM @current_table_name;END WHILE;-- 最后记得删除临时表DROP TABLE table_names;
上面的代码中,我们首先使用SELECT语句获取数据库中所有表的表名,并将表名保存到一个临时表中。然后使用WHILE循环每张表,并在循环中执行需要执行的代码,例如获取每张表的行数。循环结束后,记得删除临时表。