PostgreSQL (intro)
     
Introducci�n a MySQL

     Luis Vega M.

     Nota: Este documento fue desarrollado para la asignatura de Programaci�n Avanzada
     realizada en el V semestre de la carrera T�cnico Universitario en Programaci�n el 06 - Julio - 2004
     en la
Universidad Cat�lica del Maule.

     Creaci�n de Base de Datos y Eliminaci�n a trav�s de PHP:

Ahora pasaremos a la segunda parte del informe, el cual consiste en la creaci�n y eliminaci�n de base de datos, creaci�n y eliminaci�n de tablas, todo esto a trav�s de PHP, esto se puede hacer de dos formas:

� Usando las funciones que PHP nos proporciona, como por ejemplo mysql_create_db().
� La otra forma es enviando consultas SQL como por ejemplo $consulta = (�CREATE DATABASE nombredb�);.

Aunque existen herramientas que pueden hacer todo lo anterior, como por ejemplo phpMyAdmin, nosotros vamos a demostrar que no es tan dif�cil hacerlo.

Lo primero que haremos es crear una base de datos, para esto, tenemos un formulario con un campo de texto en donde ingresaremos el nombre de la base de datos y un bot�n que nos enviar� hacia un archivo en donde se ejecutar�n las sentencias de PHP y MySQL correspondientes (ver imagen).



Creaci�n de una base de datos.

Si no ingresamos alg�n nombre, la base de datos no podr� ser creada, entonces nos mostrar� lo siguiente:



No se puede crear la base de datos.

Si la base de datos existe nos mostrar� lo siguiente:


La base de datos existe.

Si la base de datos no existe e ingresamos un nombre correcto entonces nos mostrar� el siguiente mensaje:


Base de datos creada.

Archivo: creacion.php

Cuando declaramos el formulario, ponemos como acci�n enviarnos hacia el archivo crea.php

<FORM ACTION="crea.php" method="post">

Al campo de texto que declaramos, le asignamos como nombre �nombredb�, que ser� usado en el archivo crea.php, lo declaramos de la siguiente manera:

<INPUT TYPE="text" NAME="nombredb" SIZE="30" MAXLENGTH="30">

Archivo: crea.php

Declaramos la variable que vamos a utilizar para darle el nombre a la BD.

$nombredb;

Mostramos el nombre de la base de datos que deseamos ingresar:

echo "<br>Usted ingreso la base de datos con el nombre ";
echo $nombredb;

Ahora nos conectamos con el servidor, asignando a $link el id de la conexi�n, observar que ahora utilizamos un �@� para hacer la conexi�n:

$link = @mysql_connect("localhost", "root", "password");

Comprobamos que hemos establecido la conexi�n en el servidor, de no ser as�, mostramos el mensaje de error:

if (! $link){
echo "<br>Error ! No se puede establecer conexi�n con el servidor...";
exit;

Obtenemos una lista de las bases de datos del servidor con mysql_list_db() y se lo asignamos a $db, lo que nos devuelve es un puntero con las bases de datos disponibles.

$db = mysql_list_dbs();

Vemos cuantas Bases de Datos hay con mysql_num_rows, el cual devuelve el n�mero de filas del resultado de una consulta

$num_bd = mysql_num_rows($db);

echo "En estos momentos el servidor tiene: ";
echo $num_bd;
echo " Base de Datos...";

Ahora comprobamos si la base de datos que queremos crear existe. Usamos mysql_dbname para devolver nombres de las base de datos, guardado en posici�n i de los resultados del indicador de consulta devuelto por la funci�n mysql_list_db()

$existe = "NO" ;
for ($i=0; $i<$num_bd; $i++) {
if (mysql_dbname($db, $i) == $nombredb) {
$existe = "SI" ;
echo "La base de datos ya existe (intente con otro nombre)...";
break;

Si la base de datos que queremos crear no existe, entonces la creamos con funciones PHP (mysql_create_db()).

if ($existe == "NO") {
if (! mysql_create_db($nombredb, $link)) {
echo "Error ! No se puede crear la base de datos $nombredb";

Debemos fijarnos que anteponemos �!� para crear la base de datos, solo de esta manera podremos mostrar el mensaje de error, si es que por alg�n motivo no se puede crear la base de datos.

Ahora mostramos el mensaje indicando que la base de datos fue creada con �xito:

}
else {
echo "Felicitaciones. Base de datos <b>$nombredb</b> creada...";
}
exit;
}

Para eliminar una base de datos (BD), debemos ir al archivo eliminadb.php, en la p�gina se muestra como un link que dice �Eliminar Base de Datos�, y nos mostrar� algo como esto:


Eliminar base de datos.

Si no indicamos alg�n nombre para eliminar, se mostrar� el siguiente error:


Error al eliminar.

Si la base de datos a eliminar no existe, se mostrar� lo siguiente:


Error al eliminar.

Si la base de datos existe, entonces reci�n podremos eliminarla, la p�gina nos mostrar� lo siguiente:


Base de datos eliminada.

Archivo: eliminadb.php

Tenemos un formulario que tiene como acci�n llevarnos hacia el archivo eliminadadb.php, el cual ejecutara la sentencia SQL correspondiente para eliminar la BD.

<FORM ACTION="eliminadadb.php" method="post">

Al campo de texto que declaramos, le asignamos como nombre �nombredb�, que ser� usado en el archivo eliminadadb.php, asign�ndole la variable $nombredb, su declaraci�n es la siguiente:

<INPUT TYPE="text" NAME="nombredb" SIZE="30" MAXLENGTH="30">

Ahora establecemos la conexi�n con el servidor:

$link = @mysql_connect("localhost", "root", "password");

Archivo: eliminadadb.php

Nuevamente establecemos la conexi�n con el servidor y declaramos una sentencia SQL, la cual permite eliminar la base de datos ingresada.
Observemos que en esta caso no usamos funciones PHP para eliminar la BD, si no que usamos una sentencia SQL, asignada a una variable ($sql).

$link = @mysql_connect("localhost", "root", "password");
$sql = "drop database $nombredb";

Si la condici�n (if) es cierta, ejecutamos la sentencia SQL, indicando como argumentos, el nombre de la base de datos ($nombredb), la sentencia SQL ($sql) y el identificador de la conexi�n ($link).

Entonces la base de datos se ha borrado con �xito:

if (@mysql_db_query($nombredb, $sql, $link)) {
echo "La base de datos se ha borrado con �xito...";
echo " Base de Datos Borrada: <b>$nombredb. </b>";

De lo contrario, mostramos el mensaje de error, indicando que la base de datos no se ha podido eliminar:

} else {
echo "No se ha podido borrar la base de datos...<a href=\"eliminadb.php\">Volver !</a>";
}

| Atr�s | Inicio | Siguiente |

 

1
Hosted by www.Geocities.ws