Me gustaría consultar el nombre de todas las columnas de una tabla. Encontré cómo hacer esto en:
Pero necesito saber: ¿cómo se puede hacer esto en Microsoft SQL Server (2008 en mi caso)?
sql
sql-server
sql-server-2008
tsql
odiseh
fuente
fuente
SELECT * FROM my_table WHERE 1=0
SELECT TOP 0 * FROM my_table
es menos pulsaciones de teclasRespuestas:
Puede obtener esta información y mucho, mucho más consultando las vistas del esquema de información .
Esta consulta de muestra:
Se puede realizar sobre todos estos objetos de base de datos:
fuente
Nortwind.
...)SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'tableName';
esto funciona para míTABLE_SCHEMA = '?' AND TABLE_NAME = '?'
ya que estoy en localhost y tengo varias tablas con el mismo nombre pero en diferentes bases de datos.Puede usar el procedimiento almacenado sp_columns que devolvería información relativa a todas las columnas para una tabla dada. Puede encontrar más información aquí http://msdn.microsoft.com/en-us/library/ms176077.aspx
También puede hacerlo mediante una consulta SQL. Algo como esto debería ayudar:
O una variación sería:
Esto obtiene todas las columnas de todas las tablas, ordenadas por nombre de tabla y luego por nombre de columna.
fuente
Esto es mejor que obtener
sys.columns
porque se muestraDATA_TYPE
directamente.fuente
AND TABLE_SCHEMA = 'schemaName'
laWHERE
cláusula.JOIN sys.types t on c.system_type_id = t.system_type_id
y agregart.name
su declaración 'SELECCIONAR' para obtener los tipos junto al nombre de cada columna también.Puede usar
sp_help
en SQL Server 2008.Método abreviado de teclado para el comando anterior: seleccione el nombre de la tabla (es decir, resáltelo) y presione ALT+ F1.
fuente
Al usar esta consulta, obtienes la respuesta:
fuente
Puede escribir esta consulta para obtener el nombre de columna y todos los detalles sin usar INFORMATION_SCHEMA en MySql:
fuente
fuente
TABLE_NAME
es tu mesafuente
fuente
Solo ejecuta este comando
fuente
A esta pregunta SO le falta el siguiente enfoque:
fuente
Verificará si la tabla base
table
es la dada .fuente
Puede intentar esto. Esto proporciona todos los nombres de columna con sus respectivos tipos de datos.
fuente
puedes usar esta consulta
fuente
fuente
Otra opción que podría decirse que es más intuitiva es:
Esto le da todos los nombres de sus columnas en una sola columna. Si le interesan otros metadatos, puede cambiar la edición de SELECT STATEMENT TO
SELECT *
.fuente
Resumiendo las respuestas
Puedo ver muchas respuestas diferentes y formas de hacer esto, pero hay un problema en esto y ese es el
objective
.Sí, el objetivo. Si desea
only know
los nombres de columna, puede usarPero si desea
use
esas columnas en algún lugar o simplemente decirlasmanipulate
, las consultas rápidas anteriores no serán de ninguna utilidad. Necesitas usarUna forma más de conocer algunas columnas específicas donde necesitamos algunas columnas similares
fuente
fuente
Simple y no requiere ninguna tabla sys
fuente