[Ir al menú de PHP]
Ver y modificar estructuras

Visualizar la estructura de una tabla

Es posible visualizar la estructura de una tabla de dos maneras. Utilizando nuevas funciones de PHP o aplicando nuevas sentencias MySQL con las funciones ya conocidas.

En la parte derecha te cuento esa segunda opción y aquí trataré de describirte las funciones PHP.

Ver estructura

Otra de las opciones de visualización de la estructura de una base de datos sería esta:
Después de conectar con el servidor y una vez asignada la conexión a la base de datos que contiene la tabla cuya estructura pretendemos visualizar (mysql_select_db) es cuando utilizando la sentencia de MySQL ("SELECT * FROM tabla")

Más tarde nos referiremos a esta sentencia, por el momento tómala en forma empírica hacemos una llamada a la función mysql_query que ya hemos visto en la página anterior con los siguientes parámetros: $res=mysql_query(sent, $enl)

donde sent es la sentencia que te he descrito más arriba y $enl el identificador de conexión.

El identificador de resultado que recoge la variable $res es el que será usado por las funciones PHP que nos facilitan información sobre la estructura de la tabla.

mysql_num_fields ($res)

Está función -en la que $res es el identificador de resultado - devuelve el número de campos de la tabla.

mysql_num_rows ($res)

Devuelve el número de registros que contiene la tabla. Si la tabla no contiene datos devolverá CERO.

mysql_field_table($res, 0)

Devuelve el nombre de la tabla. Observa que se pasa con índice 0 ya que esta información parece ser la primera de que aparece en la tabla

mysql_field_type($rs, $i)

Nos devuelve el tipo de campo correspondiente a la posición en la tabla señalada por el índice $i. Dado que la información de primer campo está en el índice 0, el último valor válido de $i será:
número de campos - 1.

mysql_field_flags($res, $i)

Nos devuelve los flags del campo correspondiente a la posición en la tabla señalada por el índice $i. Se comporta igual que la anterior en lo relativo a los índices.

mysql_field_len($res, $i)

Nos devuelve la longitud del campo correspondiente a la posición en la tabla señalada por el índice $i. Igual que las anteriores en lo relativo a los índices.

mysql_field_name($rs, $i)

Nos devuelve el nombre del campo correspondiente a la posición en la tabla señalada por el índice $i. Igual que las anteriores en lo relativo a los índices.

Liberando memoria

Si queremos liberar la parte de la memoria que contiene un identificador de resultado, bastará con que insertemos la siguiente instrucción:

mysql_free_result($res)

Este proceso debe ser posterior a la visualización de los datos.


 
 


Ver la estructura de una tabla utilizando MySQL

Las sentencia MySQL que permiten visualizar la estructura de una tabla es esta:

SHOW FIELDS from nombre de la tabla
Aquí tienes un ejemplo del que puedes visualizar el código fuente (escrito -como hacemos en todos los ejemplos- para el caso de que el servidor sea localhost, el usuario: root y la password: pepe) y tienes también la opción de ejecutar el ejemplo en mi servidor de freesurf.


Ver código fuente Ver ejemplo


Crear una nueva tabla con la estructura de otra

Utilizando la sentencia anterior y añadiendo un poco de imaginación no resulta difícil crear una nueva tabla con estructura idéntica a la de otra.

Aquí tienes el código fuente de un script que permite crear la tabla demo2 utilizando la estructura de la tabla demo1.

¡¡Cuidado...!!

No consideres este ejemplo como una rutina válida para cualquier base de datos. El ejemplo funciona con la base demo1 pero esa base no es la situación más completa que pueda darse (no tiene índices, etc. etc.) así que te aconsejo que huyas de la tentación del copiar y pegar... :-)

Estas avisad@...


Ver código fuente

Visualizar la estructura de una con el segundo método

Aunque para mi gusto -es cuestión de criterios, por supuesto- el método descrito anteriormente es más cómodo, y facilita más y mejor información, ello no significa que no sea igualmente válido este otro.

Este segundo método de visualización utiliza las funciones PHP que tienes descritas a la izquierda.

Por aquello de... la imagen y ... las palabras aquí tienes un ejemplo del que puedes ver el código fuente y también puedes ejecutar en el servidor.

Compara la información devuelta por este y por el ejemplo anterior y ... tu mism@... elije el que más te guste... :-)


Ver código fuente Ver ejemplo


Borrar una tabla

Las sentencia MySQL que permite borrar una tabla es esta:

DROP TABLE IF EXISTS from nombre de la tabla
DROP TABLE from nombre de la tabla

la diferencia entre ambas sentencias radica en que usando la primera no se generaría ningún error en el caso de que tratáramos de borrar una tabla inexistente. Aquí tienes el código fuente de un ejemplo:


Ver código fuente


Borrar uno de los campos de una tabla

Las sentencia MySQL que permite borrar una tabla es esta:

ALTER TABLE nombre de la tabla DROP nombre deL campo

Es posible modificar la estructura de una tabla -en este caso borrar un campo- siguiendo un procedimiento similar a los anteriores.

La única diferencia estriba en utilizar la sentencia MySQL adecuada.

Resulta obvio que el campo debe existir para que pueda ser borrado y si no exitiera, es obvio también, que se produciría un error.

Aquí tienes el código fuente de un script que borra uno de los campos de una tabla.


Ver código fuente


Añadir un nuevo campo a una tabla

Las sentencia MySQL que permite añadir un nuevo campo a una tabla es esta:

ALTER TABLE nombre de la tabla ADD nombre deL campo tipo flags

El procedimiento es similar a los casos anteriores utilizando esta nueva sentencia MySQL.

Respecto a la sintaxis decirte que es similar a la de creación de tablas: el nombre del campo debe ir seguido del tipo sin otra separación que el espacio (¡¡cuidado... no pongas comas de separación), si el tipo requiere que indiques un tamaño, ya sabes... entre paréntesis...

Aquí tienes el código fuente de un script que añade uno de los campos de una tabla.


Ver código fuente


En fin, amig@... sigamos avanzando, en el próximo capítulo veremos como añadir datos a una tabla... Ya era hora... ¿verdad que sí? :-)


Sugerir a un/a amig@ Envíame tus comentarios
Anterior
Indice
Siguiente