【问题标题】:Just started working with Magento and I wanted to get the number of fields in each table刚开始使用 Magento,我想获取每个表中的字段数
【发布时间】:2015-05-30 01:14:19
【问题描述】:

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

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

但我也想知道每个表的列数。

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>'
);

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

【问题讨论】:

    标签: mysql sql magento-1.13


    【解决方案1】:
    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

    【讨论】:

    • 非常感谢您的快速(准确)回复!非常感谢¦-þ
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 2011-11-01
    相关资源
    最近更新 更多