Professional Documents
Culture Documents
LABORATORIO
Objetivo:
Seguridad:
Preparación:
Los alumnos deberán realizar todos los ejercicios realizados y propuestos de esta guía de
laboratorio.
Procedimiento y Resultados:
LABORATORIO
// Probemos esto:
echo "Lo sentimos, este sitio web está experimentando problemas.";
// Algo que no se debería de hacer en un sitio público, aunque este ejemplo lo mostrará
// de todas formas, es imprimir información relacionada con errores de MySQL --
se podría registrar
echo "Error: Fallo al conectarse a MySQL debido a: \n";
echo "Errno: " . $mysqli->connect_errno . "\n";
echo "Error: " . $mysqli->connect_error . "\n";
// Podría ser conveniente mostrar algo interesante, aunque nosotros simplemente saldremos
exit;
}
// Ahora, sabemos que existe solamente un único resultado en este ejemplo, por lo
// que vamos a colocarlo en un array asociativo donde las claves del mismo son los
// nombres de las columnas de la tabla
$actor = $resultado->fetch_assoc();
echo "A veces veo a " . $actor['first_name'] . " " . $actor['last_name'] . " en la TV.";
// Ahora, vamor a obtener cinco actores aleatorios y a imprimir sus nombres en una lista.
// El manejo de errores va a ser menor aquí, aunque ya sabemos como hacerlo
$sql = "SELECT actor_id, first_name, last_name FROM actor ORDER BY rand() LIMIT 5";
if (!$resultado = $mysqli->query($sql)) {
echo "Lo sentimos, este sitio web está experimentando problemas.";
exit;
}
// Imprimir nuestros cinco actores aleatorios en una lista, y enlazar cada uno
echo "<ul>\n";
while ($actor = $resultado->fetch_assoc()) {
echo "<li><a href='" . $_SERVER['SCRIPT_FILENAME'] . "?aid=" . $actor['actor_id'] . "'>\n";
echo $actor['first_name'] . ' ' . $actor['last_name'];
echo "</a></li>\n";
}
echo "</ul>\n";
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[PARTITION partition_list]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
GROUP BY: Nos permite agrupar los datos obtenidos de la base de datos.
HAVING: Permite hacer cálculos y condiciones más complejas que no se pueden
hacer con la cláusula WHERE.
ORDER BY: Ordenación por columna.
LIMIT: Especificación del número de filas devueltas.
ALTER TABLE
UPDATE
INSERT
TRUNCATE TABLE
Clásula WHERE
Vamos a comenzar con estos sencillos ejemplos, más adelante iré poniendo algunos más
complejos con los condicionantes anteriormente mencionados:
Vamos a ver con una serie de ejemplos sencillos los condicionantes de WHERE:
Hasta ahora os he puesto ejemplos básicos con una única condición, os muestro varios
ejemplos para realizar más condiciones con OR y/o AND:
Con los paréntesis podemos agrupar las condiciones para que sean menos liosas que el
ejemplo anterior. En este nuevo caso se debe cumplir una de las 2 condiciones, que sí
sea de México o tenga más de 30 años, del resultado obtenido se mostrarán los que
además tengan más de 10 años de antigüedad en la empresa.
Actividad Nº 03