Características de MySQL
–Modelo relacional, multiusuario
Tipos de datos
–Numéricos
•tinyint, smallint, mediumint, int, integer,
bigint
•decimal, float, numeric
–Fecha y hora
•date, time, datetime, year, timestamp
–Cadena
•char, varchar
•tinytext, text, mediumtext, longtext
•tinyblob, blob, mediumblob, longblob
•enum, set
–Debe elegirse adecuadamente el tipo y el
tamaño de cada campo
Operadores
–Aritméticos
•+, -, *, /
–Comparación
•=, !=, <=, <, >=, >, IS NULL, IS NOT NULL
–Lógicos
•not (!), and (&&), or (||), xor
Funciones
–Funciones de cadena
–Funciones de comparación de cadenas
–Funciones numéricas
–Funciones de fecha y hora
–Funciones de agregado
Herramientas de administración: phpMyAdmin phpMyAdmin es una herramienta para la
administración del servidor de bases de datos
MySQL
Dispone de una interfaz gráfica y es de libre
distribución
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
1:Configurar
–El fichero de configuración se llama
config.inc.php
–Este fichero no existe sino que hay que
crearlo. Para ello se hace una copia del
fichero config.sample.inc.php, situado
en la carpeta donde se haya instalado
phpMyAdmin, y se le pone como nombre
config.inc.php
–Seguidamente se modifica el fichero
config.inc.php
–Configuración típica para un servidor
local:
...
$cfg['Servers'][$i]['host'] = 'localhost'; //MySQL
hostname
$cfg['Servers'][$i]['user'] = 'root'; //MySQL
user
$cfg['Servers'][$i]['password'] = 'clave'; //MySQL
password
...
siendo ‘clave’ la contraseña asignada
al administrador (root) de MySQL durante
su instalación
2: Ejecutar
–Ejecutar Apache
–Abrir el navegador y teclear la url
http://localhost/phpmyadmin
Lenguaje SQL
SQL (Structured Query Language) es el lenguaje que se
utiliza para comunicarse con la base de datos
Procedimiento de comunicación con la base de datos:
Las instrucciones más habituales son SELECT, INSERT,
UPDATE, DELETE
Veamos su sintaxis básica y algunos ejemplos de uso
Para ello utilizaremos una tabla noticias con cinco
campos: un identificador único de la noticia, el título de
la noticia, el texto de la noticia, la categoría de la
noticia y la fecha de publicación de la noticia
DELETE
Sintaxis:
DELETE FROM nombre_tabla
[WHERE condición]
[ORDER BY ...]
[LIMIT row_count]
Ejemplo:
DELETE FROM noticias WHERE fecha < CURDATE()-10
Borra las noticias con más de 10 días de antigüedad
Funciones de PHP para el acceso a bases de datos MySQL
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 instrucción SQL a la base de datos
–Obtener y procesar los resultados
–Cerrar la conexión con el servidor de bases de datos
Acceso a bases de datos MySQL
Las funciones concretas de MySQL que realizan
estas operaciones son:
–Conectar con el servidor de bases de datos:
• mysql_connect()
–Seleccionar una base de datos:
•mysql_select_db()
–Enviar la instrucción SQL a la base de datos:
• mysql_query()
–Obtener y procesar los resultados:
•mysql_num_rows() y mysql_fetch_array()
–Cerrar la conexión con el servidor de bases de datos:
• mysql_close()
1.- Conectar con el servidor de bases de datos:
mysql_connect()
–Devuelve un identificador de la conexión en caso de
éxito y false en caso contrario
Sintaxis:
$conexion = mysql_connect (servidor, username,
$conexion = mysql_connect (servidor, username,
password);
Ejemplo:
$conexion = mysql_connect (“localhost”, “cursophp”, “”)
$conexion = mysql_connect (“localhost”, “cursophp”, “”)
or die (“No se puede conectar con el servidor”);
$conexion = mysql_connect (“localhost”, “cursophp-ad”,
“php.hph”)
or die (“No se puede conectar con el servidor”);
2.- Seleccionar una base de datos: mysql_select_db()
–Devuelve true en caso de éxito y false en caso
contrario
Sintaxis:
mysql_select_db (database);
mysql_select_db (database);
Ejemplo:
mysql_select_db (“lindavista”)
mysql_select_db (“lindavista”)
or die (“No se puede seleccionar la base de datos”);
3.-Enviar la instrucción SQL a la base de datos: mysql_query()
–Devuelve un identificador o true (dependiendo de la
instrucción) si la instrucción se ejecuta
correctamente y false en caso contrario
Sintaxis:
$consulta = mysql_query (instrucción, $conexion);
$consulta = mysql_query (instrucción, $conexion);
Ejemplo:
$consulta = mysql_query (“select * from noticias”, $conexion)
or die (“Fallo en la consulta”);
$consulta = mysql_query (“select * from noticias”, $conexion)
or die (“Fallo en la consulta”);
4.- Obtener y procesar los resultados: mysql_num_rows(),
mysql_fetch_array()
–En el caso de que la instrucción enviada produzca
unos resultados, mysql_query() devuelve las filas de
la tabla afectadas por la instrucción
–mysql_num_rows() devuelve el número de filas
afectadas
–Para obtener las distintas filas del resultado se
utiliza la función mysql_fetch_array(), que obtiene
una fila del resultado en un array asociativo cada
vez que se invoca
Sintaxis:
$nfilas = mysql_num_rows ($consulta);
$nfilas = mysql_num_rows ($consulta);
$fila = mysql_fetch_array ($consulta);
Ejemplo 1:
Instrucción:
select * from noticias where categoria=“promociones”
Ejemplo 2:
Instrucción:
select * from noticias where categoria=“promociones”
Obtención de las filas:
$nfilas = mysql_num_rows ($consulta);
$nfilas = mysql_num_rows ($consulta);
if ($nfilas > 0)
{
for ($i=0; $i<$nfilas; $i++)
for ($i=0; $i<$nfilas; $i++)
{
$fila = mysql_fetch_array ($consulta);
$fila = mysql_fetch_array ($consulta);
procesar fila i-ésima de los resultados
}
}
}
}
5.- Cerrar la conexión con el servidor de bases de datos:
mysql_close()
Sintaxis:
mysql_close ($conexion);
mysql_close ($conexion);
Ejemplo
mysql_close ($conexion);
mysql_close ($conexion);