如何在mysql中检查多个表

时间:2014-04-16 18:24:54

标签: mysql

我正在搜索一个名为“歌曲”的数据库'它平均有60个表,所有列都有相同的名称(id,name,data)。

SELECT * FROM (all tables in my DB songs) WHERE name LIKE 'a%';

我如何获得符合条件的记录"其中"所有表格?

3 个答案:

答案 0 :(得分:1)

您可以使用UNION

  SELECT * FROM table1 WHERE name LIKE 'a%' 
  UNION 
  SELECT * FROM table2 WHERE name LIKE 'a%' ;

然后......

这里的问题是为什么你有60张相同的表?

答案 1 :(得分:0)

虽然UNION应该是你应该去的,但你也可以这样做(例如)

select * from sample1,sample3,sample4 
where sample1.name like 'M%'
and sample3.name like 'M%'
and sample4.name like 'M%'

此外,如果所有60个表都有相同的列(如您所提到的那样)那么维护那些表的重点是什么?为什么不是一张桌子?

答案 2 :(得分:0)

要获取包含列的所有表格,请输入ID'或者' name'或者'数据'在数据库'歌曲'

SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME
IN (
'id',  'name', 'data'
)
AND TABLE_SCHEMA =  'songs'

我想不出为什么有60张桌子?