2010-07-29 97 views
51

哪個查詢將爲SQL表中的列定義賦予表結構?描述表結構

+2

應指定數據庫供應商爲命令不同。 – 2010-07-29 12:08:50

+2

[可以使用哪種SQL命令查看SQL Server上表的結構?](http://stackoverflow.com/questions/3159236/which-sql-command-can-i-use-to-請參閱-sql-server上的表結構) – 2014-03-20 10:17:57

+2

由於在那裏指定了數據庫,因此它不是重複的。 – schmijos 2015-02-27 16:15:16

回答

41

sp_help表名在SQL Server - sp_help [ [ @objname = ] 'name' ]

desc表名在Oracle - DESCRIBE { table-Name | view-Name }

+0

鏈接已關閉 – 2017-06-02 07:02:58

1

這取決於您的數據庫供應商。大多數情況下,這是Google應該使用的「信息模式」(適用於MySQL,MSSQL和其他應用程序)。

10
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='<Table Name>' 

您可以通過此查詢得到像列數據類型和大小的詳細信息

15

在MySQL中,你可以使用DESCRIBE <table_name>

0

的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 
23

它取決於您使用的數據庫。下面是一個不完整的列表:

  • 的sqlite3:.schema table_name
  • Postgres的:\d table_name
  • SQL服務器:sp_help table_name(或sp_columns table_name僅列)
  • 甲骨文DB2:desc table_namedescribe table_name
  • MySQL的:describe table_name (或者僅列show columns from table_name
+2

'\ d table_name'只能在'psql' afaict中使用。 – 2016-06-17 15:45:31

4
在控制檯

突出顯示的表名,並按ALT + F1

+0

OP要求查詢不是在未指定的控制檯中進行模糊步驟。 – Wranorn 2017-12-14 08:11:58

4

對於Sybase又名SQL Anywhere的以下命令輸出表的結構:

DESCRIBE 'TABLE_NAME'; 
4
SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE table_name = 'student'