Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get database schema with one query?

Basically I want to get the table names, and the field names for each table from the current database that is connected, nothing else.

Is this possible?

I know that SHOW TABLES FROM my_database gets you the table names, and SHOW COLUMNS FROM my_table will get you the fields, but that's at least [1 x # of tables] queries and I get more information that I want :)

like image 740
Alex Avatar asked Dec 07 '11 19:12

Alex


1 Answers

The INFORMATION_SCHEMA.COLUMNS table has what you're asking for.

SELECT table_name, column_name
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE table_schema = 'YourDBName'
    ORDER BY table_name, ordinal_position
like image 174
Joe Stefanelli Avatar answered Oct 03 '22 05:10

Joe Stefanelli