Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
5.
6. 7.
8.
Bases de datos en la Web Instalacin y configuracin de MySQL MySQL Herramientas de administracin: phpMyAdmin Lenguaje SQL Funciones de PHP para el acceso a bases de datos MySQL Ejercicios Consulta avanzada de tablas
Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la informacin de un sitio web Ventajas
Proporcionar informacin actualizada Facilitar la realizacin de bsquedas Disminuir los costes de mantenimiento Implementar sistemas de control de acceso Almacenar preferencias de los usuarios
Pasos:
Descargar Descomprimir e instalar Configurar Arrancar Conectar con el servidor Instalar la extensin para MySQL de PHP
Pulsar el botn Finish para terminar la instalacin y pasar a la configuracin del servidor
En cada conexin hay que indicar el nombre del usuario, su contrasea y la mquina desde la que se realiza la conexin (localhost si es la propia mquina donde reside el servidor, que es lo habitual en el acceso desde la Web)
Aadir la ruta c:\php al PATH del sistema (ver las instrucciones para hacerlo en el fichero install.txt que hay en la carpeta c:\php)
MySQL
Caractersticas de MySQL
Modelo relacional, multiusuario Numricos
tinyint, smallint, mediumint, int, integer, bigint decimal, float, numeric date, time, datetime, year, timestamp char, varchar tinytext, text, mediumtext, longtext tinyblob, blob, mediumblob, longblob enum, set
Tipos de datos
MySQL
Operadores
Aritmticos
+, -, *, / =, !=, <=, <, >=, >, IS NULL, IS NOT NULL not (!), and (&&), or (||), xor
Comparacin Lgicos
Funciones
Funciones de cadena Funciones de comparacin de cadenas Funciones numricas Funciones de fecha y hora Funciones de agregado
phpMyAdmin es una herramienta para la administracin del servidor de bases de datos MySQL Dispone de una interfaz grfica y es de libre distribucin Permite realizar todo tipo de operaciones sobre bases de datos:
crear, borrar y modificar tablas consultar, insertar, modificar y eliminar datos definir usuarios y asignar permisos realizar copias de seguridad etc
Est escrita en php y se ejecuta desde el navegador Si est instalada en la carpeta phpmyadmin, se ejecuta escribiendo en la barra de direcciones del navegador la url http://localhost/phpmyadmin/ Puede administrar bases de datos locales y remotas
phpMyAdmin
phpMyAdmin
phpMyAdmin
phpMyAdmin
phpMyAdmin
phpMyAdmin
Lenguaje SQL
SQL (Structured Query Language) es el lenguaje que se utiliza para comunicarse con la base de datos Procedimiento de comunicacin con la base de datos:
Pgina PHP
Lenguaje SQL
Las instrucciones ms habituales son SELECT, INSERT, UPDATE, DELETE Veamos su sintaxis bsica y algunos ejemplos de uso Para ello utilizaremos una tabla noticias con cinco campos: un identificador nico de la noticia, el ttulo de la noticia, el texto de la noticia, la categora de la noticia y la fecha de publicacin de la noticia
noticias id ttulo texto categora fecha
Lenguaje SQL
SELECT
Sintaxis:
SELECT [WHERE [ORDER [LIMIT expresin FROM tabla condicin] BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [offset,] row_count | row_count OFFSET offset]
Ejemplo:
SELECT * from noticias WHERE fecha=CURDATE() LIMIT 10 ORDER BY fecha DESC
Obtiene las noticias del da con un tope mximo de 10, ordenadas de la ms reciente a la ms antigua
Lenguaje SQL
INSERT
Sintaxis:
INSERT [INTO] nombre_tabla [(nombre_columna,...)] VALUES ((expresin | DEFAULT),...), (...),... INSERT [INTO] nombre_tabla SET nombre_columna=(expresin | DEFAULT), ...
Ejemplo:
INSERT INTO noticias (id, titulo, texto, categoria, fecha) VALUES (37, Nueva promocin en Nervin, 145 viviendas de lujo en urbanizacin ajardinada situadas en un entorno privilegiado, promociones, CURDATE())
Lenguaje SQL
UPDATE
Sintaxis:
UPDATE nombre_tabla SET nombre_columna1=expr1 [, nombre_columna2=expr2 ...] [WHERE condicin] [ORDER BY ...] [LIMIT row_count]
Ejemplo:
UPDATE noticias SET categoria = ofertas WHERE id=37
Lenguaje SQL
DELETE
Sintaxis:
DELETE [WHERE [ORDER [LIMIT FROM nombre_tabla condicin] BY ...] row_count]
Ejemplo:
DELETE FROM noticias WHERE fecha < CURDATE()-10
Los pasos para acceder desde PHP a una base de datos son los siguientes:
Conectar con el servidor de bases de datos Seleccionar una base de datos Enviar la instruccin SQL a la base de datos Obtener y procesar los resultados Cerrar la conexin con el servidor de bases de datos
Sintaxis:
$conexion = mysql_connect (servidor, username, password);
Ejemplo:
$conexion or die $conexion or die = mysql_connect (localhost, (No se puede conectar con el = mysql_connect (localhost, (No se puede conectar con el cursophp, ) servidor); cursophp-ad, php.hph) servidor);
Sintaxis:
mysql_select_db (database);
Ejemplo:
mysql_select_db (lindavista) or die (No se puede seleccionar la base de datos);
Sintaxis:
$consulta = mysql_query (instruccin, $conexion);
Ejemplo:
$consulta = mysql_query (select * from noticias, $conexion) or die (Fallo en la consulta);
Sintaxis:
$nfilas = mysql_num_rows ($consulta); $fila = mysql_fetch_array ($consulta);
Ejemplo:
noticias 1 2 3 4 5 Ttulo 1 Ttulo 2 Ttulo 3 Ttulo 4 Ttulo 5 Texto 1 Texto 2 Texto 3 Texto 4 Texto 5 ofertas promociones promociones costas promociones 05/02/2004 05/02/2004 04/02/2004 01/02/2004 31/01/2004
Instruccin:
select * from noticias where categoria=promociones
Ejemplo:
noticias 1 2 3 4 5 Ttulo 1 Ttulo 2 Ttulo 3 Ttulo 4 Ttulo 5 Texto 1 Texto 2 Texto 3 Texto 4 Texto 5 ofertas promociones promociones costas promociones 05/02/2004 05/02/2004 04/02/2004 01/02/2004 31/01/2004
$consulta
$nfilas=3
Instruccin:
select * from noticias where categoria=promociones
Ejemplo:
for ($i=0; $i<$nfilas; $i++) { $fila = mysql_fetch_array ($consulta); print Ttulo: . $fila[titulo]; print Fecha: . $fila[fecha]; }
Ejemplo
mysql_close ($conexion);