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 :)
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
SELECT t.name AS tblName,
SCHEMA_NAME(schema_id) AS [schemaName],
c.name AS colName
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
ORDER BY tblName;
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.
"Show databases", "Show tables" and "describe table" are the best, fastest way I know of in MySql.
But they are MySql-specific.
If you want:
a) a portable way to query your database schema
... AND ...
b) more granular control over your query, then look at INFORMATION_SCHEMA:
http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
SYNTAX:
SELECT table_name FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'db_name'
[AND table_name LIKE 'wild']
After a few trials, i made this sql code to see the columns in my table.
SELECT
TABLE_NAME as table_name,
COLUMN_NAME as column_name,
COLUMN_TYPE as data_type,
COLUMN_DEFAULT as default_value,
IS_NULLABLE as nullable,
COLUMN_KEY as constraints,
EXTRA as constraints2,
CHARACTER_SET_NAME as charset,
COLLATION_NAME as collation
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = '<YOUR_DATABASE_NAME>'
AND TABLE_NAME='<YOUR_TABLE_NAME>'
ORDER BY table_name, ordinal_position
来源:https://stackoverflow.com/questions/8421224/get-database-schema-with-one-query