Reputation: 3261
Which query will give the table structure with column definitions in SQL?
Upvotes: 123
Views: 638507
Reputation: 7416
For SQL Server use exec sp_help
USE db_name;
exec sp_help 'dbo.table_name'
For MySQL, use describe
DESCRIBE table_name;
Upvotes: 7
Reputation: 8755
It depends from the database you use. Here is an incomplete list:
.schema table_name
\d table_name
sp_help table_name
(or sp_columns table_name
for only columns)desc table_name
or describe table_name
describe table_name
(or show columns from table_name
for only columns)Upvotes: 85
Reputation: 176956
sp_help tablename in sql server -- sp_help [ [ @objname = ] 'name' ]
desc tablename in oracle -- DESCRIBE { table-Name | view-Name }
Upvotes: 75
Reputation: 141
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'student'
Upvotes: 14
Reputation: 13549
For Sybase aka SQL Anywhere the following command outputs the structure of a table:
DESCRIBE 'TABLE_NAME';
Upvotes: 5
Reputation: 427
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='<Table Name>'
You can get details like column datatype and size by this query
Upvotes: 23
Reputation: 196306
Sql server
DECLARE @tableName nvarchar(100)
SET @tableName = N'members' -- change with table name
SELECT
[column].*,
COLUMNPROPERTY(object_id([column].[TABLE_NAME]), [column].[COLUMN_NAME], 'IsIdentity') AS [identity]
FROM
INFORMATION_SCHEMA.COLUMNS [column]
WHERE
[column].[Table_Name] = @tableName
Upvotes: 1
Reputation: 15164
This depends on your database vendor. Mostly it's the "information schema" you should Google for (applies to MySQL, MSSQL and perhaps others).
Upvotes: 1