我在寻找一种方式来显示仅填充表过滤掉所有空表上的MySQL数据库规划列表,换句话说。
我知道我可以像作秀所有的数据库模式中的表执行的东西:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'myd_db_schema_name'
如果我想添加一个额外的WHERE条件只显示NOT NULL表的名单?
我不知道是否有帮助,但你可以使用两个WHERE子句与AND
并过滤掉空表,你可以检查表中有一行是这样的:
WHERE table_rows >= 1
因此,完整的查询会
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'myd_db_schema_name' AND table_rows >= 1
我还没有尝试过了,但希望它的工作原理。
好吧,这是解决方案:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'my_db_schema_name' AND table_rows >= 1
而不是使用COLUMNS
我用TABLES
。