Agregar índice en tabla de MySQL o MariaDB

Agregar índice a tabla en MySQL

En este post sobre bases de datos te enseñaré a agregar un índice a una columna de cualquier tabla en MySQL y MariaDB.

Recuerda que agregamos índices a las columnas para optimizar las consultas. Esto no siempre es necesario, solo lo es cuando vamos a hacer varias consultas (o consultas con varios datos) utilizando un campo en específico y queremos optimizarlas para, en general, hacerlas más rápidas.

(más…)

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…)

Relaciones SQL con Sequelize y Node

En este post te mostraré cómo hacer una relación o asociación entre tablas con el ORM Sequelize para hacer la relación a nivel base de datos y también para traer los datos usando la asociación. Es decir, lo que tiene que ver con foreign key, inner join, left join, etcétera.

Te mostraré cómo insertar datos y solo especificar la clave foránea, contrario a lo que se muestra en la documentación en donde se insertan ambos modelos a la vez.

La razón es porque, por ejemplo, si un trabajador pertenece una oficina, solo importa guardar el id de oficina en caso de que esta ya se haya creado antes, y no se requiere guardar una oficina por cada trabajador.

(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

Laravel: paginación de registros

En este post te voy a mostrar cómo puedes realizar una paginación en Laravel; es decir, mostrar registros (de la base de datos) por página, en lugar de mostrarlos todos a la vez.

Laravel ya provee una manera realmente sencilla de agregar paginación, incluso da la opción de agregar los enlaces a la página, y por supuesto, también permite cosas como la búsqueda u otros métodos del Query Builder, todo esto sin escribir ninguna consulta SQL manual.

(más…)

PHP: tomar foto con cámara y guardar en MySQL

En este post te mostraré cómo tomar una foto con la cámara web usando JavaScript; para más tarde enviarla a PHP y guardarla en una base de datos.

Recuerda que ya anteriormente vimos cómo hacer lo mismo pero guardando la foto en el disco duro, esto no es más que una modificación a lo que aparece en ese post.

Recomiendo encarecidamente que leas el post que menciono, pues aquí solo cambia la parte del guardado de la foto.

(más…)

Consulta manual con GORM

Otro post que escribo sobre GORM, un ORM de Go. En este caso vamos a ver cómo hacer una consulta manual y un escaneo manual, es decir, algo tipo raw. Algo así como una query personalizada.

Este tipo de consultas son poco comunes pero existen para cuando necesitamos hacer un reporte o traer ciertos datos que no corresponden a un único modelo.

(más…)