2008-09-19 25 views

Respuesta

54

MySQL 3 y 4 (y 5):

desc tablename 

que es un alias para

show fields from tablename 

SQL Server (desde 2000) y MySQL 5:

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

Completando la respuesta: al igual que las personas a continuación han dicho, en SQL Server también puede utilizar el procedimiento almacenado sp_help

exec sp_help 'tablename' 
+0

la información del esquema están disponibles en SQL Server 2000 también. – Martynnw

+0

Y en Postgres, en de 8.0 (no se verificó en versiones anteriores) – Mureinik

+0

también funciona: muestra columnas de nombre de tabla – Amnon

1

Si sólo desea los nombres de columna y, a continuación

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

en MS SQL Server, para obtener más información sobre la mesa, tales como los tipos de las columnas, utilice

sp_help 'tablename' 
10

SQL -92 estándar define INFORMATION_SCHEMA que cumple con rdbms como MS SQL Server. Las siguientes obras para MS SQL Server 2000/2005/2008 y MySQL 5 y por encima de

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

MS SQL Server específicos:

exec sp_help 'myTable' 

Esta solución devuelve varios conjuntos de resultados dentro del cual es la información que desee, donde como el anterior le da exactamente lo que quiere.

También para completar, puede consultar directamente las tablas del sistema. Esto no se recomienda ya que el esquema puede cambiar entre las versiones de SQL Server e INFORMATION_SCHEMA es una capa de abstracción sobre estas tablas. Pero aquí está de todos modos para SQL Server 2000

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

MySQL es el mismo:

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

Puede utilizar las vistas del sistema proporcionadas para hacer esto:

por ejemplo

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

alternativamente, puede usar el sistema proc sp_help

por ejemplo

sp_help '[table name]' 
2

Esto también es específico de MySQL:

show fields from [tablename]; 

ésto no solo muestran los nombres de las tablas, sino que también se saca toda la información sobre los campos.

0

MySQL

describe tablename 
4

Para aquellos que buscan una respuesta en Oracle:

SELECT column_name FROM user_tab_columns WHERE table_name = 'TABLENAME' 
4

PostgreSQL entiende la sintaxis

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

. Si está trabajando en la cáscara psql, también se puede utilizar

\d myTable 

para una descripción (columnas, y sus tipos de datos y limitaciones)

3

simplemente para la corrección, ya que MySQL y Postgres ya se han mencionado: con SQLite, utilice "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

En Sybase SQL Anywhere, las columnas y los datos de esta tabla se almacenan por separado, por lo que necesita una combinación:

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

Para IBM DB2 (duplicará comprobar esto el lunes para estar seguro.)

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