1,根据约束字典表table_constraints 来查
SELECT
t.table_schema AS database_name,
t.table_name
FROM
information_schema.TABLES t
LEFT JOIN information_schema.TABLE_CONSTRAINTS c ON t.TABLE_SCHEMA = c.TABLE_SCHEMA
AND t.table_name = c.TABLE_NAME
AND c.CONSTRAINT_TYPE = 'PRIMARY KEY'
WHERE
C.CONSTRAINT_TYPE IS NULL
AND T.TABLE_TYPE = 'BASE TABLE'
AND T.TABLE_SCHEMA NOT IN ( 'mysql', 'information_schema', 'performance_schema', 'sys' );
2.根据统计信息columns表来查
SELECT
c.table_schema AS database_name,
c.table_name
FROM
information_schema.COLUMNS c
LEFT JOIN information_schema.TABLES t ON t.TABLE_SCHEMA = c.TABLE_SCHEMA
AND t.table_name = c.TABLE_NAME
WHERE
c.TABLE_SCHEMA NOT IN ( 'mysql', 'information_schema', 'performance_schema', 'sys' )
AND t.table_type = 'BASE TABLE'
GROUP BY
c.TABLE_SCHEMA,
c.TABLE_NAME
HAVING
GROUP_concat( c.COLUMN_key ) NOT REGEXP 'PRI|UNI';