Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como obtengo el nombre de los campos de una tabla?

Estas en el tema de como obtengo el nombre de los campos de una tabla? en el foro de Mysql en Foros del Web. Buenas noches, esoty intentando poder obtener los nombres de los campos de una tabla, pero no se me ocurre otra cosa que describe. Si por ...
  #1 (permalink)  
Antiguo 15/04/2011, 21:50
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 15 años
Puntos: 4
como obtengo el nombre de los campos de una tabla?

Buenas noches, esoty intentando poder obtener los nombres de los campos de una tabla, pero no se me ocurre otra cosa que describe.
Si por ejemplo tenemos:
tabla: user
campos: nombre, apellido, DNI, etc

lo que quiero saber solo son cada uno de esos campos y nada mas, Describe devuelve muchos mas datos y no se hacerlo con php.
__________________
Dejando una huella de mi existencia por la red en http://tiricaya.com
  #2 (permalink)  
Antiguo 15/04/2011, 21:56
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: como obtengo el nombre de los campos de una tabla?

mira el information_schema
http://dev.mysql.com/doc/refman/5.0/...les-table.html

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 16/04/2011, 06:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como obtengo el nombre de los campos de una tabla?

Si estás usando un lenguaje de programación puedes usar
Código SQL:
Ver original
  1. DESCRIBE tabla
Esto te devolverá una tabla en cuya primera columna está el nombre de cada campo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 16/04/2011, 08:54
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 15 años
Puntos: 4
Respuesta: como obtengo el nombre de los campos de una tabla?

hola gracias a los dos por sus respuestas.

Bien uno de los motivos que no desearia usar describe es porque, debuelve toda la composicion de la tabla y con ello datos innesearios que perjudicarian creo yo al rendimiento.

Y con el schema logre hacer esta consulta:
Código SQL:
Ver original
  1. SELECT column_name FROM information_schema.COLUMNS
  2. WHERE TABLE_NAME = 'user' AND table_schema = 'prueba';
Con ambos obtengo la información que deseo, ahora no se si pueda usar el schema desde php por ejemplo.

aunque lo intente de esta forma:
Código PHP:
Ver original
  1. $r = mysql_query("select column_name from information_schema.columns
  2. WHERE table_name = 'user' and table_schema = 'prueba';
  3. ",$con);
  4.  
  5. echo "<pre>";
  6. print_r($r);
Y no me devuelve, ni siquiera usando un bucle con fetch_array.

Otra pregunta también seria, si yo intento una sola consulta en barias bases de datos el describe tabla, no funcionaria en otros gestores aparte de mysql.
__________________
Dejando una huella de mi existencia por la red en http://tiricaya.com
  #5 (permalink)  
Antiguo 16/04/2011, 10:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como obtengo el nombre de los campos de una tabla?

Cita:
Bien uno de los motivos que no desearia usar describe es porque, debuelve toda la composicion de la tabla y con ello datos innesearios que perjudicarian creo yo al rendimiento.
En realidad, no, no perjudican al rendimineto, es exactamente el mismo con un adicional: Lo resuelve internamente el MySQL, mientras que acceder a la base information_schema puede requerir permisos del usuario que puede que no tengas.
Normalmente un usuario de bajo nivel de permisos puede ver las tablas de la(s) base(s) a las que tiene permiso, pero no puede acceder por si mismo al directorio raiz de information_schema. Por eso usar
Código SQL:
Ver original
  1. DESCRIBE tabla
o bien
Código SQL:
Ver original
  1. SHOW COLUMNS FROM tabla
es una mejor opción.
Ten en cuenta que acceder a information_schema implica tener acceso a mucha más información y directa que esas otras dos opciones, y siempre puedes eliminar de la tabla la información que no necesites.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 16/04/2011, 11:09
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 15 años
Puntos: 4
Respuesta: como obtengo el nombre de los campos de una tabla?

No abia pensado en los privilegios, tiene mucha razon usted, ahora solo me falta investigar como hago esto mismo para cualquier base de datos.
Gracias.
__________________
Dejando una huella de mi existencia por la red en http://tiricaya.com

Etiquetas: campos, nombre, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:37.