欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql查詢分表所有數據

謝彥文2年前11瀏覽0評論

MySQL是一種廣泛使用的關系型數據庫管理系統。在實際應用中,我們有時需要查詢分表所有數據。下面是一個查詢語句的演示:

SELECT * FROM table_1 UNION ALL
SELECT * FROM table_2 UNION ALL
SELECT * FROM table_3 UNION ALL
...
SELECT * FROM table_n;

其中,table_1、table_2... table_n表示分表的名稱。此語句會查找所有分表的數據,并將結果合并在一起。其中,UNION ALL表示將結果合并,并保留所有的行。

在實際使用中,我們可以將上述語句保存為存儲過程,方便以后的查詢。下面是一個示例:

DELIMITER //
CREATE PROCEDURE query_all_tables()
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE n INT DEFAULT 0;
DECLARE table_name VARCHAR(100);
DECLARE query_str VARCHAR(1000) DEFAULT '';
SELECT COUNT(*) INTO n FROM information_schema.tables WHERE table_schema = 'your_database';
WHILE i<= n DO
SELECT table_name
INTO table_name
FROM information_schema.tables
WHERE table_schema = 'your_database'
AND table_name LIKE 'table_%'
LIMIT 1 OFFSET i-1;
SET query_str = CONCAT(query_str, 'SELECT * FROM ', table_name, ' UNION ALL ');
SET i = i + 1;
END WHILE;
SET query_str = SUBSTRING(query_str, 1, LENGTH(query_str)-10);
PREPARE stmt FROM query_str;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END //
DELIMITER ;

以上存儲過程使用了information_schema.tables,查詢所有以"table_"開頭的表名,再將查詢的結果合并。你可以按照自己的需求修改該存儲過程。