对于各种流行的数据库系统,如何列出表中的所有列?
当前回答
对于MySQL,使用:
DESCRIBE name_of_table;
这也适用于Oracle,只要你使用SQL*Plus,或Oracle的SQL Developer。
其他回答
对于MySQL,使用:
DESCRIBE name_of_table;
这也适用于Oracle,只要你使用SQL*Plus,或Oracle的SQL Developer。
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标准的数据库。
对于mssql Server:
select COLUMN_NAME from information_schema.columns where table_name = 'tableName'
只是对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