Desc MYSQL 中所有表的主键

Desc primary key of all tables in MYSQL

我只想获取信息架构中每个 table 的特定列的 Desc 结果,比如说主键。

这可以做到吗?

我试过

 SELECT * FROM (DESC TABLENAME) WHERE ....;

但是没用。

我还希望它适用于所有 tables。

DESC aka DESCRIBE aka SHOW COLUMNS 在子查询中不起作用。 但是 SELECT 会。 例如,您可以替换

SHOW COLUMNS FROM t IN test LIKE '%2';

SELECT column_name AS `Field`, column_type AS `Type`,
is_nullable AS `Null`,
column_key as 'Key',
column_default AS `Default`, extra AS `Extra`
FROM information_schema.columns
WHERE table_schema = 'test'
AND table_name = 't'
AND column_name like '%2';

你会得到同样的东西。