Ejercicios resueltos de consultas con SQL en el gestor MySQL - MariaDB

Ejercicios resueltos con MySQL – Parte 4

Esta es la cuarta entrega donde muestro ejercicios propuestos con su respectiva solución para practicar consultas SQL usando el gestor MySQL o MariaDB. Básicamente se proponen algunos ejercicios de consultas sobre un banco de datos ya definido, y luego se resuelven.

La primera parte está aquí, la segunda aquí y la tercera aquí. Hoy vamos a ver algunas consultas y vamos a trabajar con datos de temperatura y humedad por fecha y hora que recogimos usando el sensor DHT22.

Entre algunas funciones que veremos está MAX, MIN, IF, AVG, SUBSTR y las operaciones usando WHERE, ORDER BY, DISTINCT y LIMIT. Verás que será muy entretenido y que sacaremos algunos ejercicios de todos estos datos.

(más…)

SELECT con 2 counts en MySQL

En este post te mostraré cómo hacer un select con group by pero además contar dos columnas distintas, es decir, hacer una consulta en MySQL usando dos counts (count).

Para ello vamos a usar la función sum pero además usaremos case. De este modo, por ejemplo, podremos contar el total de datos distintos de una columna dependiendo de su valor.

(más…)

Laravel: cambiar tipo de dato en migración

En este post sobre Laravel y SQL te voy a mostrar cómo cambiar el tipo de dato de una columna en la tabla, usando una migración de Laravel para evitar hacerlo manualmente. De este modo llevamos un control de versiones de la base de datos.

El ejemplo que te mostraré para cambiar el tipo de dato de una columna en Laravel no usa la dependencia dbal, de hecho no usa ninguna dependencia extra, pues utiliza una sentencia propia de SQL.

(más…)

Por parzibyte, hace

Laravel: obtener SQL generado por ORM

En este post te mostraré cómo obtener el código SQL que Laravel ejecuta al usar el ORM. Es decir, obtener el SQL generado por Eloquent. Por ejemplo, si tú haces un DB::table("productos")->all(); te mostraré cómo obtener la consulta generada que sería SELECT * FROM productos.

Todo esto que te menciono es útil al depurar, pues así puedes ver si te estás equivocando en algún método. Además, también sirve para aprender Laravel, pues se puede observar cómo es que los métodos modifican a la consulta interna.

(más…)

Por parzibyte, hace

Agregar columna llave foránea (fk) en MySQL

Resumen: en este post te muestro cómo modificar o alterar una tabla de MySQL para agregar una columna y hacer que esa columna sea una clave foránea.

Las relaciones en MySQL son importantes para tener datos en distintas tablas y no caer en la redundancia de campos. En ocasiones vamos a necesitar agregar una clave foránea a una tabla ya existente.

(más…)

Insertar si no existe en SQL

SQL – Insertar fila si no existe usando WHERE

En este tutorial de SQL te mostraré cómo insertar datos a una tabla solo si el dato no existe, es decir, insertar un dato únicamente una vez usando una subconsulta y WHERE.

Este tutorial aplica para SQL en general, es decir, debería funcionar en cualquier motor, pero solo he podido probarlo en MySQL y SQLite 3.

Nota: no olvides que REPLACE INTO e INSERT IGNORE (o INSERT OR IGNORE) tienen similitudes con este método.

(más…)