对于各种流行的数据库系统,如何列出表中的所有列?
当前回答
Microsoft SQL Server Management Studio 2008 R2:
在查询编辑器中,如果突出显示表名的文本(例如dbo.MyTable)并点击ALT+F1,您将得到列名、类型、长度等的列表。
ALT+F1,同时高亮dbo。MyTable相当于运行EXEC sp_help 'dbo。MyTable”
我无法获得查询INFORMATION_SCHEMA的变体。列来工作,所以我用这个代替。
其他回答
SQL Server
使用实例列出数据库中所有用户定义的表。
use [databasename]
select name from sysobjects where type = 'u'
列出一个表的所有列:
use [databasename]
select name from syscolumns where id=object_id('tablename')
SQL Server
SELECT
c.name
FROM
sys.objects o
INNER JOIN
sys.columns c
ON
c.object_id = o.object_id
AND o.name = 'Table_Name'
or
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Table_Name'
第二种方法是ANSI标准,因此应该适用于所有符合ANSI标准的数据库。
SQL Server
sp_help tablename
Microsoft SQL Server Management Studio 2008 R2:
在查询编辑器中,如果突出显示表名的文本(例如dbo.MyTable)并点击ALT+F1,您将得到列名、类型、长度等的列表。
ALT+F1,同时高亮dbo。MyTable相当于运行EXEC sp_help 'dbo。MyTable”
我无法获得查询INFORMATION_SCHEMA的变体。列来工作,所以我用这个代替。
对于MySQL,使用:
DESCRIBE name_of_table;
这也适用于Oracle,只要你使用SQL*Plus,或Oracle的SQL Developer。