对于各种流行的数据库系统,如何列出表中的所有列?


当前回答

只是对SQL Server中的其他选项做了一点小小的修正(模式前缀变得越来越重要了!):

SELECT name
  FROM sys.columns 
  WHERE [object_id] = OBJECT_ID(N'dbo.tablename');

其他回答

Oracle (PL/SQL)

SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'

MySQL

SHOW COLUMNS FROM table_name

只是对SQL Server中的其他选项做了一点小小的修正(模式前缀变得越来越重要了!):

SELECT name
  FROM sys.columns 
  WHERE [object_id] = OBJECT_ID(N'dbo.tablename');

Microsoft SQL Server Management Studio 2008 R2:

在查询编辑器中,如果突出显示表名的文本(例如dbo.MyTable)并点击ALT+F1,您将得到列名、类型、长度等的列表。

ALT+F1,同时高亮dbo。MyTable相当于运行EXEC sp_help 'dbo。MyTable”

我无法获得查询INFORMATION_SCHEMA的变体。列来工作,所以我用这个代替。

对于mssql Server:

select COLUMN_NAME from information_schema.columns where table_name = 'tableName'

对于MySQL,使用:

DESCRIBE name_of_table;

这也适用于Oracle,只要你使用SQL*Plus,或Oracle的SQL Developer。