2008-09-19 119 views

回答

54

MySQL的3和4(和5):

desc tablename 

这是

show fields from tablename 

SQL服务器(2000)和MySQL 5别名:

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME = 'tablename' 

完成答案:就像下面的人都说过的,在SQL Server中你也可以使用存储过程sp_help

exec sp_help 'tablename' 
+0

信息模式在SQL Server 2000是可用的。 – Martynnw 2008-09-19 08:46:49

1

如果你只是想列名,然后

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tablename' 

在MS SQL Server时,在表的详细信息,如类型列,使用

sp_help 'tablename' 
10

SQL -92标准定义了符合rdbms类似MS SQL Server支持的INFORMATION_SCHEMA。以下作品的MS SQL Server 2000/2005/2008和MySQL 5及以上

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'myTable' 

MS SQL Server的具体:

exec sp_help 'myTable' 

该解决方案返回多个结果集内这是你想要的信息,正如前者给你你想要的东西。

也只是为了完整性,您可以直接查询sys表。这是不推荐的,因为架构可以在SQL Server版本之间进行更改,而INFORMATION_SCHEMA是这些表上方的抽象层。但在这里它是无论如何用于SQL Server 2000

select [name] from dbo.syscolumns where id = object_id(N'[dbo].[myTable]') 
1

MySQL是一样的:

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tablename' 
4

您可以使用所提供的系统视图来做到这一点:

select * from INFORMATION_SCHEMA.COLUMNS 
where table_name = '[table name]' 

或者,您可以使用系统进程sp_help

sp_help '[table name]' 
2

这也是MySQL的具体:

show fields from [tablename]; 

,这并不只显示表名称,但它也拿出所有有关领域的信息。

0

MySQL的

describe tablename 
4

对于那些寻找甲骨文的答案:

SELECT column_name FROM user_tab_columns WHERE table_name = 'TABLENAME' 
4

PostgreSQL的理解

select column_name from information_schema.columns where table_name = 'myTable' 

语法。如果你在psql的壳工作,你也可以使用

\d myTable 

的描述(列中,其数据类型和约束)

3

只是为了完整性,因为MySQL的和Postgres已经提到:使用SQLite,用 “pragma table_info()

sqlite> pragma table_info('table_name'); 
cid   name  type  notnull  dflt_value pk   
---------- ---------- ---------- ---------- ---------- ---------- 
0   id   integer  99      1   
1   name     0      0   
2

在Sybase SQL Anywhere中,列和表信息分开存储,所以你需要一个连接:

select c.column_name from systabcol c 
     key join systab t on t.table_id=c.table_id 
     where t.table_name='tablename' 
1

对于IBM DB2(会仔细检查这周一是肯定的。)

SELECT TABNAME,COLNAME from SYSCAT.COLUMNS where TABNAME='MYTABLE'