Skip to main content

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 :)


Source: Tips4allCCNA FINAL EXAM

Comments

  1. 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

    ReplyDelete
  2. SELECT *
    FROM information_schema.tables t
    JOIN information_schema.columns c ON t.TABLE_NAME = c.TABLE_NAME
    AND t.TABLE_CATALOG=c.TABLE_CATALOG
    AND t.TABLE_SCHEMA=c.TABLE_SCHEMA


    works for SQLSERVER 2005. The column names might be different for MySQL (I assume that's what you're using), but the concept is the same.

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?