Crear Bases de Datos SQL

41
CREAR BASES DE DATOS SQL

Transcript of Crear Bases de Datos SQL

Page 1: Crear Bases de Datos SQL

CREAR BASES DE DATOS SQL

Page 2: 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 ` ` .

Page 3: Crear Bases de Datos SQL

Después de escribir la línea con el lenguaje MySQL, debemos mandar la instrucción

mediante la función mysql_query();.

Page 4: Crear Bases de Datos SQL

<?php $db=mysql_connect("localhost","root","

"); $sql="create database `miagenda`"; mysql_query($sql,$db); mysql_close($db); ?>

Page 5: Crear Bases de Datos SQL

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;";

Page 6: Crear Bases de Datos SQL

Hemos creado aquí una tabla llamada "agenda" con un único campo llamado "IDagenda". Vamos a explicar el código:

Page 7: Crear Bases de Datos SQL

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.

Page 8: Crear Bases de Datos SQL

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.

Page 9: Crear Bases de Datos SQL

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.

Page 10: Crear Bases de Datos SQL

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;.

Page 11: Crear Bases de Datos SQL

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.

Page 12: Crear Bases de Datos SQL

Igualmente la palabraMyISAM debemos escribirla tal como está aquí, ya que se refiere a un tipo de código

Page 13: Crear Bases de Datos SQL

Por último, como es habitual, mandamos el código, y cerrarmos la conexión:

mysql_query($sql,$db);mysql_close($db);

Page 14: Crear Bases de Datos SQL

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:

Page 15: Crear Bases de Datos SQL

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); ?>

Page 16: Crear Bases de Datos SQL

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.

Page 17: Crear Bases de Datos SQL

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.

Page 18: Crear Bases de Datos SQL

Insertar registros $sql = "insert into `agenda`

(`nombre`, `telefono`, `email`, `descripcion`)value ('Juan Palomero', '647251359', '[email protected]', 'Compañero de trabajo' );";

Page 19: Crear Bases de Datos SQL

<?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); ?>

Page 20: Crear Bases de Datos SQL

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'";

Page 21: Crear Bases de Datos SQL

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.

Page 22: Crear Bases de Datos SQL

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.

Page 23: Crear Bases de Datos SQL

<?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) ?>

Page 24: Crear Bases de Datos SQL

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:

Page 25: Crear Bases de Datos SQL

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) ?>

Page 26: Crear Bases de Datos SQL

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`";  

Page 27: Crear Bases de Datos SQL

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`";

Page 28: Crear Bases de Datos SQL

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:

Page 29: Crear Bases de Datos SQL

$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

Page 30: Crear Bases de Datos SQL

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.

Page 31: Crear Bases de Datos SQL

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

Page 32: Crear Bases de Datos SQL

<?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);?>

Page 33: Crear Bases de Datos SQL

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,

Page 34: Crear Bases de Datos SQL

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:

Page 35: Crear Bases de Datos SQL

<?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?>

Page 36: Crear Bases de Datos SQL

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]

Page 37: Crear Bases de Datos SQL

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,

Page 38: Crear Bases de Datos SQL

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'"

Page 39: Crear Bases de Datos SQL

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:

Page 40: Crear Bases de Datos SQL

$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);?>

Page 41: Crear Bases de Datos SQL