Get primary keys for ALL tables in a given DB?

I am using the following bit of SQL to get a list of the primary keys in my DB , named ‘RMCMS’:

FROM `statistics`
LIMIT 0 , 30

I was wondering if there was a more efficient way to do do this. I also have heard that information_schema is not always accessible (for example in a shared host) is this true?

Thanks in advance :slight_smile: