Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PHP
MySQL
Sistema de Gestin de Base de Datos Relacional
La informacin se guarda en tablas
Una tabla es una coleccin de datos relacionados
Una tabla consta de columnas (campos) y filas (registros)
Las tablas se enlazan por relaciones entre columnas
Escalable
Aplicaciones pequeas y grandes (millones de registros)
Transacciones, Multiusuario
Eficiente: Multihilo, varias tcnicas de hash, b-tree, etc.
Conexin al servidor MySQL con sockets TCP/IP
Esto permite conectarla con casi cualquier plataforma
Clientes Pedidos
Productos
nif* numero *
id *
nombre fecha
nombre
direccion cliente
precio
email producto
descripcion
telefono cantidad
*Clave primaria (los objetos en esta columna son nicos y no nulos). Ser indexada.
**Se pueden definir tambin ndices para mejorar la eficiencia de las bsquedas
***Las claves forneas (foreign keys) identifica una columna (o grupo de
columnas) en una tabla que se refiere a otra columna (o grupo de columnas) en otra
tabla, generalmente la clave primaria en la tabla referenciada.
Contribuyen a gestionar la integridad de la base de datos: no se puede crear un
pedido de un cliente o un producto que no existan.
Las claves forneas deberan indexarse porque se usarn para seleccionar registros
con frecuencia.
Creacin de tablas
La primera tabla es la de clientes, con cinco campos
nif: servir como primary key (el nif es nico)
nombre: de empresa o de persona (sera nombre + apellidos)
Se puede indexar para hacer bsquedas por este campo
direccion
email
telefono: como string para permitir uso de caracteres no numricos
Servidor Web
Cliente
request
Intrprete PHP
cdigo (Genera HTML)
HTML
Busca pgina index.php
Consulta
index.php
Repositorio Base de
de pginas datos
3. Desconexin
$empresa="Empresa%";
$query="SELECT*FROMclientesWHEREnombreLIKE'$empresa'";
$resultado=$mysqli>query($query)
or die($mysqli>error."enlalnea".(__LINE__1));
$numregistros=$resultado>num_rows;
echo"<p>ElnmerodeclientesconnombreEmpresa*es:",$numregistros,".</p>";
$query="SELECT*FROMclientes";
$resultado=$mysqli>query($query)
or die($mysqli>error."enlalnea".(__LINE__1));
$numregistros=$resultado>num_rows;
echo"<p>ElnmerodeclientesconnombreEmpresa*es:",$numregistros,".</p>";
echo"<table border=2><tr><th>NIF</th><th>Nombre</th><th>Direccin</th>
<th>Email</th><th>Telfono</th></tr>";
while ($registro=$resultado>fetch_assoc()) {
echo"<tr>";
foreach ($registroas$campo)
echo"<td>",$campo,"</td>";
echo"</tr>";
}
echo"</table>";
$resultado>free();
SQL
INSERT
Inserta nuevos elementos en una tabla
Crea un nuevo cliente
INSERTINTOclientes(nif,nombre,direccion,email,telefono)
VALUES("M3885337J","EmpresaUno","CalleUno,Madrid",
"jefe@empresauno.com","912347898")
UPDATE
Actualiza campos de una tabla
Modifica el importe del producto "Producto1"
UPDATEproductos SETprecio =399.99WHEREnombre="Producto1"
DELETE
Elimina registros de una tabla
Elimina pedidos con ms de 30 das de antigedad
DELETEFROMpedidos WHEREfecha <CURDATE()10
Bibliografa
Manual PHP oficial
http://www.php.net/manual/es/index.php
Sitio oficial de phpMyAdmin: http://www.phpmyadmin.net
Introduccin sencilla al uso de phpMyAdmin y php con MySQL
http://www.yourwebskills.com/dbbackground.php
http://www.yourwebskills.com/beginningmysql.php
Libros
S. Suehring, T. Converse, J. Park. PHP6 and MySQL Bible. Wiley Pub.
2009
O. Heurtel. PHP y MySQL. Domine el desarrollo de un sitio Web
dinmico e interactivo. Ediciones ENI 2009
M. Delisle. Dominar phpMyAdmin para una administracin efectiva de
MySQL. Packt Publishing (2007)
$query="SELECT*FROMclientes";
$resultado=mysql_query($query)or die("Errorenlaquery:".mysql_error());
$numregistros=mysql_num_rows($resultado);
echo"<p>Elnmeroderegistrosdeclienteses:",$numregistros,".</p>";
$query="SELECT*FROMclientes";
$resultado=mysql_query($query)or die("Errorenlaquery:".mysql_error());
$numregistros=mysql_num_rows($resultado);
echo"<p>Elnmeroderegistrosdeclienteses:",$numregistros,".</p>";
echo"<table border=2><tr><th>NIF</th><th>Nombre</th><th>Direccin</th>
<th>Email</th><th>Telfono</th></tr>";
mysql_free_result($resultado);