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.
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@...
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... :-)
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:
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.
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.
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í? :-)