Para los diferentes sistemas de bases de datos populares, ¿cómo se listan todas las columnas de una tabla?¿Cómo puedo enumerar todas las columnas de una tabla?
Respuesta
Para Oracle (PL/SQL)
SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'
Para MySQL
SHOW COLUMNS FROM table_name
Para MySQL/Oracle, Uso:
DESCRIBE name_of_table;
+1. Esto mostrará todas las columnas en la tabla y mostrará detalles sobre cada una de las columnas. – Navigatron
Esta solución es para MYSQL no MSSQL –
Esto también funciona para Oracle – dmvianna
MS SQL Server:
sp_columns [nombredetabla]
Para MS SQL Server:
select * from information_schema.columns where table_name = 'tableName'
La columna de interés aquí sería COLUMN_NAME. – Buggieboy
Esto debería funcionar en muchos DBMS. La vista del sistema 'information_schema.columns' es parte del estándar' ANSI SQL' ([link] (http://en.wikipedia.org/wiki/Information_schema)). –
buena respuesta, pero para evitar duplicados, utilizaría: 'seleccione COLUMN_NAME de information_schema.columns donde table_name = 'tableName' y table_schema = 'databaseName'' – billynoah
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]'
o
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = '[Table Name]'
La segunda manera es un estándar ANSI y por lo tanto debe trabajo sobre todo ANSI Bases de datos compatibles.
Ninguno de estos funciona como está escrito (o al menos implícito, como lo leí) para MS SQL Server. En ambos casos, la columna del nombre de la tabla almacena el nombre _without_ any '[' ']' a su alrededor, por lo que la consulta no debe usarlos, solo el nombre de la tabla simple. Si esa no era la intención del OP, al menos tenga en cuenta esto. – JonBrave
@JonBrave - eso es correcto, los corchetes estaban ahí para sugerir _ "inserte aquí su nombre de tabla" _ :) –
Al ser corchetes, lo leí como "_introduzca el nombre de su tabla entre corchetes (debido a una palabra potencialmente reservada) here_ ", y luego no tiene coincidencias :) Tal vez BNF'
Youd probablemente quieran pedir la consulta de Oracle column_id –
Para Oracle también es válido 'DESCRIBE name_of_table'. – Pigueiras
use; muestra columnas en como '%'; Te permitirá enumerar solo las columnas que comienzan con el prefijo especificado. Omitir los corchetes angulares, por supuesto. –
rstackhouse