Agregar columna a tabla si no existe en SQLite3 con Golang

En el tutorial de hoy te mostraré una pequeña función que te permite agregar una columna a una tabla solo si la misma no existe.

El motor de base de datos que vamos a usar será SQLite3 pero me imagino que debe funcionar para otros como PostgreSQL o MySQL.

Esto es necesario porque en ocasiones el cliente no puede hacer los cambios a la base de datos (no puede ejecutar sentencias SQL) y además se desean conservar los datos ya existentes.

Por ello es que hoy veremos cómo agregar una columna a una tabla conservando sus datos, y agregarla solo si no existe, verificando la tabla con PRAGMA en SQLite3.

(más…)

PostgreSQL: obtener varias filas de subconsulta en una columna

Hoy vamos a ver algo muy necesario al realizar consultas en bases de datos usando PostgreSQL.

Se trata de traer varios datos en una subconsulta pero colocarlos todos dentro de una columna, codificados de cierta manera. De este modo traemos varios datos de varias filas, por cada fila, como una columna.

Para esto vamos a usar las funciones JSON que PostgreSQL ofrece, en especial la función json_agg.

Con esto vamos a tener varios datos de una subconsulta como una cadena que podremos decodificar más adelante.

Si bien no es lo más adecuado, funciona y es muy rápido.

(más…)

Solución a Error en el servidor: sql: no rows in result set en plugin de impresora térmica

En este post te mostraré cómo arreglar el error de mi plugin de impresión que dice: Error en el servidor: sql: no rows in result set.

Este error dice que no hay filas en la base de datos, y tal vez te estarás preguntando qué tiene que ver la impresión con una base de datos, por lo que justamente eso será lo que trataré en este post.

(más…)

Miles de datos generados en formato SQL con Script de JavaScript para llenar base de datos

Generador de datos SQL con JavaScript

Hoy te mostraré una idea o prototipo de un generador para llenar bases de datos SQL usando el lenguaje de programación JavaScript. Básicamente es como un faker, seeder o generador de datos aleatorios para llenar bases de datos.

Recientemente tuve la necesidad de generar datos falsos para mi programa de renta de consolas de juegos por tiempo, y como era algo rápido decidí crear un pequeño script para la tarea.

Con lo que te mostraré espero que te puedas dar una idea de cómo hacer el tuyo y ver qué tan fácil es. Igualmente puedes usarlo como base para tu propio script.

(más…)

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

Por parzibyte, hace
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…)

Por parzibyte, hace

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

Por parzibyte, hace

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