mysql多个相同的表_mysql:查询多个相同的动态表

我有一个500多个表的数据库,每个表的结构都相同,其中包含来自传感器的历史数据。我正在尝试提出一个查询,它将定位传感器n超过x的所有实例。问题是表是动态的,查询必须能够动态获取表列表。

我可以查询information_schema.tables以获取表列表,如下所示:

SELECT table_name

FROM information_schema.tables

WHERE table_schema = 'database_name';

我可以用它在程序中创建一个循环,然后反复查询数据库,但是似乎有一种方法可以让MySQL进行多表搜索。

我还不能创建一个有效的存储过程,但我能找到的示例通常是搜索任何列中的字符串。我想在所有表中存在的特定列中专门查找数据。我承认我不知道如何正确地使用存储过程,也不知道它们是否是解决这个问题的合适方法。

循环内的一个示例查询是:

SELECT device_name, sensor_value

FROM device_table

WHERE sensor_value > 10;

尝试下列操作无效:

SELECT device_name, sensor_value

FROM

(

SELECT table_name FROM information_schema.tables WHERE table_schema = 'database_name'

)

WHERE sensor_value > 10;

它会导致错误:“每个派生表都必须有自己的别名。”

目标是在日志(表)的任何位置列出所有具有给定传感器值的设备。

最后,我应该在获得表列表后在程序中循环,还是有一个更有效的查询结构?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值