刚开始使用 Magento,我想获得每个 table 中的字段数

Just started working with Magento and I wanted to get the number of fields in each table

我对 Magento Enterprise 1.13 中 table 的数量感到震惊(超过 200 个)。我正在尝试了解事物的组织方式,我认为了解每个 table 中的列数会很有帮助。以下查询将为我提供列的细分及其每个 table:

的 data_types
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = `<database_name>`
ORDER BY TABLE_NAME;

但我还想知道每个 table 中的列数。

SELECT COUNT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = '<database_name>'
AND TABLE_NAME IN (
    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
    WHERE TABLE_SCHEMA = '<database_name>'
);

不幸的是,上面的查询returns统计了数据库中的总列数。我意识到我的方法过于简单,LOOP 或 FOREACH 语句更接近我正在寻找的解决方案,但我不知道如何实现这一点。

SELECT TABLE_NAME, COUNT(COLUMN_NAME) AS NoCOLUMNS
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = '<database_name>'
    AND TABLE_NAME IN (SELECT TABLE_NAME
                       FROM INFORMATION_SCHEMA.TABLES 
                       WHERE TABLE_SCHEMA = '<database_name>')
GROUP BY TABLE_NAME;

Basic GROUP BY DEMO