Date post: | 26-Dec-2015 |
Category: |
Documents |
Upload: | maireinita |
View: | 33 times |
Download: | 0 times |
CREAR BASES DE DATOS SQL
Crear una base de datos
Para crear una nueva base de datos, una vez conectado con MySQL escribiremos el siguiente código MySQL:
$sql="create database `nombreBase`";
El nombre de la base de datos se escribe entre los signos ` ` .
Después de escribir la línea con el lenguaje MySQL, debemos mandar la instrucción
mediante la función mysql_query();.
<?php $db=mysql_connect("localhost","root","
"); $sql="create database `miagenda`"; mysql_query($sql,$db); mysql_close($db); ?>
Insertar nuevas tablas
Creado la base de datos. Insertar las tablas que la forman. Para ello, como siempre conectamos a MySQL y
tal como vimos en el apartado anterior, conectamos con la base de datos:
$db=mysql_connect("localhost","root","");mysql_select_db("miagenda",$db);
Pondremos después el código para crear la tabla: $sql = "create table `agenda` (`IDagenda` int(6)
not null auto_increment primary key) type = MyISAM;";
Hemos creado aquí una tabla llamada "agenda" con un único campo llamado "IDagenda". Vamos a explicar el código:
CREAR TABLAS create table `agenda` : Para crear un
elemento escribimos primero la palabra create, después indicamos el tipo de elemento que deseamos crear, en este caso table y por último entre `comillas` se escribe el nombre del elemento, en este caso de la tabla. Observa que en realidad no son comillas, sino el acento grave, tal como hicimos para insertar la base de datos.
CREAR CAMPOS EN LAS TABLAS (`IDagenda` : Dentro del paréntesis
escribiremos los datos de los campos que formarán la tabla. En primer lugar, y entre acentos, escribimos el nombre del primer campo.
int(6) : Escribimos después el tipo de campo tal como vimos en el tema anterior al crearlos con phpMyAdmin (int=num entero, float=num decimal, varchar=alfanumérico, text=texto largo, etc), y seguido, entre paréntesis la longitud máxima de ese campo.
not null auto_increment primary key) : A continuación ponemos el resto de propiedades del campo, es decir en este caso not null indica que el campo no puede ser nulo. auto_increment indica que es un campo de auto incremento. y primary key indica que eel campo será la clave primaria. si quisieramos incluir más campos los pondríamos a continuación,separado por una coma, y siguiendo los mismos pasos. Como no vamos a incluir más, cerramos el paréntesis.
type = MyISAM; : esta instrucción debemos ponerla siempre al final, para indicar cómo debe manejar los datos MySQL. en realidad podemos poner también engine = MyISAM;.
El código MySQL es indiferente escribirlo en mayúsculas o minúsculas, por tanto podemos poner tanto create table como CREATE TABLE; sin embargo los nombres de los elementos creados, (tablas y campos).
Sí distinguen entre mayúsculas y minúsculas, por lo que si un campo lo creamos con su nombre en mayúscula, cuando vayamos a buscarlo o leer sus datos, deberemos escribirlo de la misma manera.
Igualmente la palabraMyISAM debemos escribirla tal como está aquí, ya que se refiere a un tipo de código
Por último, como es habitual, mandamos el código, y cerrarmos la conexión:
mysql_query($sql,$db);mysql_close($db);
Incluir más campos
Incluiremos ahora el resto de los campos en la tabla creada anteriormente, para ello utilizamos el código siguiente:
$sql="alter table `nombre_tabla` add `nuevo_campo` propiedades, add `nuevo_campo` propiedades";
Después de escribir alter table, en `nombre_tabla`escribiremos el nombre de la tabla. Para insertar nuevos campos escribimos la instrucción add, seguida del nombre del campo (`nuevo_campo`) y a continuación las propiedades del campo (varchar(50) not null default''). Para insertar otro campo, lo separaremos del anterior mediante una coma, y empezaremos otra vez por la instrucción add.
Seguimos ahora con el ejemplo anterior, en el cual incluimos en la tabla nuevos campos. El código será el siguiente:
Incluir más campos <?php $con=mysql_connect("localhost","root",""); mysql_select_db("miagenda",$con); $sql = "alter table `agenda` add `nombre` varchar(50) not null default '', add `telefono` int(9) not null default '000000000', add `email` varchar(100) not null default '---@---', add `descripcion` text(2000) not null "; mysql_query($sql,$con); mysql_close($con); ?>
Incluir más campos
Incluiremos ahora el resto de los campos en la tabla creada anteriormente, para ello utilizamos el código siguiente:
$sql="alter table `nombre_tabla` add `nuevo_campo` propiedades, add `nuevo_campo` propiedades";
Después de escribir alter table, en `nombre_tabla`escribiremos el nombre de la tabla.
Para insertar nuevos campos escribimos la instrucción add, seguida del nombre
del campo (`nuevo_campo`) y a continuación las propiedades del
campo (varchar(50) not null default''). Para insertar otro campo, lo
separaremos del anterior mediante una coma, y empezaremos otra vez por la instrucción add.
Insertar registros $sql = "insert into `agenda`
(`nombre`, `telefono`, `email`, `descripcion`)value ('Juan Palomero', '647251359', '[email protected]', 'Compañero de trabajo' );";
<?php $con=mysql_connect("localhost","root",""); mysql_select_db("miagenda",$con); $sql1 = "insert into `agenda` (`nombre`, `telefono`, `email`, `descripcion`) value ('Vicente Gracia','685138554','[email protected]','amigo');"; $sql2 = "insert into `agenda` (`nombre`, `telefono`, `email`, `descripcion`) value ('Federico Camuñas','657218935','[email protected]', 'Compañero de facultad');"; $sql3 = "insert into `agenda` (`nombre`, `telefono`, `email`, `descripcion`) value ('Silvia Miranda','628554799','[email protected]', 'familiar: cuñada');"; $sql4 = "insert into `agenda` (`nombre`, `telefono`, `email`, `descripcion`) value ('Agueda Ruiperez','617255493','[email protected]', 'vecina de escalera');";
mysql_query($sql1,$con); mysql_query($sql2,$con); mysql_query($sql3,$con); mysql_query($sql4,$con); mysql_close($con); ?>
Variar los datos Imagina que en alguno de los registros han
cambiado algunos datos, pongamos, por ejemplo que en nuestra agenda, Vicente Gracia ha cambiado de teléfono y de email. Podríamos hacer un nuevo registro y borrar el anterior, sin embargo resulta más sencillo variar simplemente los datos en el registro que ya tenemos.
El código MySQL será el siguiente: $sql = "update agenda set telefono =
'678433100', email='[email protected]' where nombre = 'Vicente Gracia'";
Explicamos el código a continuación
update tabla set : Escribimos la palabra update seguido del nombre de la tabla y después la palabraset.
nombre_campo = 'valor' escribimos después el nombre del campo donde va ha efectuarse el cambio, y el nuevo valor. Si hay más de un campo que varía escrribiremos los demás separados por comas.
where : Expresa una condición, que debe cumplirse para que los cambios anteriores tengan efecto. Escribimos la palabra where y a continuación la condición, que en este caso es que el campo "nombre" tenga el valor de 'Vicente Gracia'."
Si lo que insertamos en el valor es una variable, también debemos ponerla entre comillas.
<?php $con=mysql_connect("localhost","root",""); mysql_select_db("miagenda",$con); $sql = "update agenda set telefono = '678433100',
email= '[email protected]' where nombre = 'Vicente Gracia'"; mysql_query($sql,$con); mysql_close($con) ?>
Borrar registros
Imagina que queremos borrar de nuestra base de datos, "miagenda" algunos registros, usaremos en un código MySQL como el siguiente:
DELETE FROM tabla WHERE condición Por ejemplo, si queremos borrar de la
agenda a Federico Camuñas, el código será el siguiente:
BORRAR REGISTROS <?php $con=mysql_connect("localhost","root",
""); mysql_select_db("miagenda",$con); $sql = "delete from agenda where
nombre = 'Federico Camuñas'"; mysql_query($sql,$con); mysql_close($con) ?>
BORRAR TABLAS Y BASES DE DATOS
Podemos también borrar una tabla entera o una base de datos entera.
Debemos tener cuidado porque el borrar una tabla o una base conlleva borrar todos los datos que hay en ella, sin que podamos recuperarlos.
El código MySQL para borrar una tabla es : $sql = "drop table `nombre_tabla`";
Por supuesto debemos haber abierto la conexion y seleccionado la base de datos antes.
Borrar una base de datos se hace de forma parecida, en este caso una vez abierta la conexión, no seleccionamos ninguna base sino que escribimos el código MySQL de la siguiente forma:
$sql = "drop database `nombre_base`";
Mostrar datosRecoger los datos de una tabla
Para el ejemplo que aquí mostramos elegimos la base "miagenda", que hemos creado en páginas anteriores.
En primer lugar conectamos con MySQL y seleccionamos la base de datos:
$con=mysql_connect($servidor,$usuario,$contraseña);mysql_select_db("miagenda",$con);
Después escribimos la sentencia $sql, con el código para seleccionar la tabla:
$sql="select * from agenda"; Para seleccionar una tabla escribimos select * from seguido
del nombre de la tabla. el asterisco (*) es un comodin que nos permite seleccionar toda la tabla.
Escribimos despues la función mysql_query(), pero esta vez guardamos el resultado de la función en una variable.
$datos=mysql_query($sql,$con); Hemos guardado los datos devueltos por MySQL
correspondientes a la tabla, pero estos datos no los podemos leer tal como están ya que si intentamos leerlos mediante la instrucción echo nos dará un resultado parecido a lo siguiente:
Resource id #10
Mostrar los nombres de los campos
Para poder ver los datos necesitamos otra función: mysql_fetch_array(). Le pasaremos un único argumento que será el resultado obtenido, es decir la variable $datos. La función devuleve un array a la vez indexado y asociativo, en el que estará contenido el primer registro de la tabla.
Sin embargo la función posee un puntero interno que una vez mostrado el primer registro de la tabla, pasa al siguiente, por lo que si repetimos otra vez la función, se mostrará el segundo.
Lo de a la vez indexado y asociativo quiere decir que cada elemento se mostrará dos veces, una como array indexado, con su número correlativo como clave, y otra como array asociativo, en el que la clave es el nombre del campo.
Por lo tanto, el siguiente código mostrará el nombre de los campos que tiene la tabla. Al mismo tiempo guarda
<?php $campos=array();$con=mysql_connect("localhost","root","");
mysql_select_db("miagenda",$con);$sql="select * from “genda";
$datos=mysql_query($sql,$con);$row=mysql_fetch_array($datos);foreach ($row as $clave=>$valor) { if (is_string($clave)) { echo "$clave, "; array_push($campos,$clave); } }mysql_close($con);?>
FUNCION STRING función is_string() seleccionamos las claves del
array que son elementos con texto, es decir, las que contienen los nombres de los campos. Al mismo tiempo hemos guardado los nombres de los campos en un array (funcion array_push()) para poder utilizarlos luego para hacer una tabla.
El resultado del código anterior nos dará en pantalla lo siguiente:
IDagenda, nombre, telefono, email, descripcion,
Mostrar los datos de los registros
función $row=mysql_fetch_array($datos); nos muestra los datos de un único registro, y mueve después el puntero interno al siguiente registro; por lo que si queremos ver los datos de todos los registros deberemos repetirla tantas veces como registros tengamos. Para ello utilizaremos el bucle while de la siguiente manera:
<?php $con=mysql_connect("localhost","root",""); //conexion MySQlmysql_select_db("miagenda",$con); //Seleccionar base datos$sql=" select * from agenda"; //código MySQL$datos=mysql_query($sql,$con); //enviar código MySQLwhile ($row=mysql_fetch_array($datos)) { //Bucle para ver todos los registros $nombre=$row['nombre']; //datos del campo nombre $telefono=$row['telefono']; //datos del campo teléfono $email=$row['email']; //datos del campo email echo "$nombre, $telefono, $email. <br/>"; //visualizar datos }mysql_close($con);//cerrar conexion?>
Ordenar datos
Si se nos muestran muchos datos tenemos la posibilidad de que nos salgan ya ordenados, la única variación es añadir al código MySQL la sentencia order by nombre_campo, por ejemplo:
$sql="select * from agenda order by nombre" Esto ordenará los registros de la agenda alfabéticamente de forma ascendente, según
el campo "nombre" (desde la A a la Z). Si el campo indicado como criterio de ordenación es numérico, los registros se
ordenarán de menor a mayor. Los podemos ordenar también de forma descendente (de la Z a la A), si añadimos
despues la palabra desc $sql="select * from agenda order by nombre desc" Los datos de la tabla agenda, se verán el el siguiente orden tras indicarle una
ordenación ascendente. Agueda Ruiperez, 617255493, [email protected].
Federico Camuñas, 657218935, [email protected]. Juan Palomero, 647251359, [email protected]. Silvia Miranda, 628554799, [email protected]. Vicente Gracia, 685138554, [email protected].
Busqueda exacta
Le llamamos así a la búsqueda en la que hay que escribir el dato que conocemos (el nombre en este ejemplo) de forma completa. la sentencia where se usa de la misma manera que vimos para modificar datos. es decir indicamos el nombre del campo, y lo igualamos al valor que debe tener. Es aquí donde establecemos el criterio de búsqueda,
para ello seleccionamos toda la tabla, y aplicamos luego la sentencia where, para buscar el registro que coincida con la condición que indiquemos.
$sql="select * from agenda where nombre='Vicente Gracia'"
El resto de código php es el mismo que hemos usado para mostrar la tabla completa. Así el siguiente código nos mostrará además del nombre indicado, el teléfono y el email:
$con=mysql_connect("localhost","root","");mysql_select_db("miagenda",$con); $sql="select * from agenda where nombre='Vicente Gracia'"; $datos=mysql_query($sql,$con);while ($row=mysql_fetch_array($datos)) { $nombre=$row['nombre']; $telefono=$row['telefono']; $email=$row['email']; echo "$nombre, $telefono, $email. <br/>"; }mysql_close($con);?>