mysql - 仅显示 MySQL 数据库模式上已填充表的列表

标签 mysql database

我正在寻找一种方法来仅显示 MySQL 数据库模式上已填充表的列表,换句话说,通过过滤掉所有空表。

我知道我可以执行类似的操作来显示数据库模式中的所有表:

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'myd_db_schema_name'

如果我想添加额外的 WHERE 条件以仅显示 NOT NULL 表的列表,该怎么办?

最佳答案

我不知道这是否有帮助,但您可以使用两个带有 AND 的 WHERE 子句

要过滤掉空表,您可以检查表是否有如下行:

WHERE table_rows >= 1

所以完整的查询是

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'myd_db_schema_name' AND table_rows >= 1

我还没有尝试过,但希望它有效。

关于mysql - 仅显示 MySQL 数据库模式上已填充表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54535323/

相关文章:

具有单个 UNIQUE 约束指示符的 MySQL 列名

php - MySQL正则表达式按顺序匹配包含某些字段的多个CSV行

mysql - 奇怪的 MySQL 弹出窗口 "Mysql Installer is running community mode"

mysql GROUP_CONCAT DISTINCT 多列

mysql - 从 MySQL 中的 JSON 对象中提取 key 对值

database - Go 和 Postgresql 中带有 gorm 的十进制类型

database - 在 Entity Framework 中使用模型优先方法进行迁移

java - 将数据插入到通过 Java 动态更改的 MySql 表中

database - 无法决定设置为主 ID 的方式和值

java - 在 Android 中创建并连接到 SQLite DB