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?

Java Urban Myths

Along the line of C++ Urban Myths and Perl Myths : What are the Java Urban Myths? That is, the ideas and conceptions about Java that are common but have no actual roots in reality . As a Java programmer, what ideas held by your fellow Java programmers have you had to disprove so often that you've come to believe they all learned at the feet of the same drunk old story-teller? Ideally, you would express these myths in a single sentence, and include an explanation of why they are false.