刚开始使用 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;
我对 Magento Enterprise 1.13 中 table 的数量感到震惊(超过 200 个)。我正在尝试了解事物的组织方式,我认为了解每个 table 中的列数会很有帮助。以下查询将为我提供列的细分及其每个 table:
的 data_typesSELECT 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;