Total vendido agrupado por mes – SQL y reportes con gráficas

En este post vamos a ver cómo calcular el total vendido en un período de fechas agrupado por mes, ya sea para mostrar un reporte o una gráfica de barras o líneas.

Básicamente veremos el algoritmo y ejemplos de código para sacar el desglose del total vendido por mes en el año o en cualquier período de tiempo, tomando los datos de una base de datos, agrupando, ordenando, sumando, etcétera.

No importa cuál motor de base de datos utilices ni el lenguaje de programación. Veremos el algoritmo para sumar el total vendido por mes.

(más…)

Por parzibyte, hace

Habilitar claves foráneas en SQLite3

Hoy vamos a ver cómo habilitar las foreign keys de SQLite3 ya que en ocasiones las mismas no funcionan incluso al especificar el on delete y on update.

Esto es porque debemos habilitar las claves foráneas de SQLite3 al momento de abrir la base de datos o cambiar el PRAGMA.

Veamos cómo hacerlo al abrir la base de datos.

(más…)

Bot de Telegram con base de datos MySQL

Telegram y MySQL: conexión usando bot

En este post vamos a ver cómo realizar la conexión de Telegram con MySQL a través de un bot, de modo que podamos guardar y consultar datos de una base de datos de MySQL desde Telegram.

Telegram bot con MySQL - Listar e insertar registros a base de datos con comandos

Telegram bot con MySQL – Listar e insertar registros a base de datos con comandos

Con lo que veremos vamos a poder insertar datos en una tabla de MySQL desde Telegram y cualquier chat (siempre y cuando nuestro bot pueda leer los mensajes).

También vamos a ver cómo guardar el nombre del usuario y la fecha de envío del mensaje. Será un CRUD (sin Update) básico pero puedes partir del mismo para hacer cosas más específicas.

(más…)

Contraseña no crackeada - Hash no encontrado

¿Cómo almacenar contraseñas en bases de datos?

El día de hoy te voy a compartir un poco de mi experiencia como programador al guardar contraseñas en bases de datos, sin importar lenguaje de programación ni motor de base de datos.

Te daré algunos consejos para almacenar passwords en una base de datos y que obviamente queden seguras para que ni siquiera tú sepas cuál es la contraseña pero puedas resetearla en caso de ser necesario.

(más…)

Combinar y ordenar 2 tablas de base de datos

El día de hoy veremos cómo extraer datos de 2 tablas SQL distintas, combinarlos y extraer solo los primeros de ellos a partir de un parámetro de ordenamiento.

El ejemplo que mostraré va a mostrar los productos más vendidos en una tienda, pero esos productos se venden al contado o en apartado, y cada uno está en una tabla distinta.

Lo que se requiere es obtener los productos más vendidos sin importar a cuál tabla pertenecen, ordenándolos, combinándolos y extrayendo solo los primeros N.

(más…)

Exportar base de datos de MySQL con Laravel hacia un archivo SQL

Exportar base de datos de MySQL con Laravel

En este corto post de programación con PHP, Laravel y MySQL vamos a ver cómo exportar una base de datos de MariaDB completa desde un controlador de Laravel.

Vamos a usar la herramienta mysqldump atrapando su salida en un archivo y luego vamos a servirlo al cliente para finalmente eliminarlo, es decir, usaremos mysqldump para volcar la base de datos a un archivo SQL temporal.

Nota: si quieres también puedes ver el script que usa PHP puro y adaptarlo a Laravel:

Script para respaldar una base de datos de MySQL con PHP

(más…)

Flutter con SQLite3 en Windows

Flutter y SQLite multiplataforma

En este post te enseñaré a usar Flutter con SQLite en varias plataformas, excepto la web. El paquete oficial soporta solo Android, iOS y MacOS, pero no Windows ni Linux.

Aquí veremos cómo usar SQLite con Flutter en Android, iOS, MacOS, Windows y Linux usando un paquete adicional llamado sqflite_ffi que es compatible con Linux y Windows.

Nota: si tú solo quieres usar SQLite en Android, iOS o MacOS entonces tal vez quieras buscar un tutorial más simple como este, ya que aquí enseño a cómo tener SQLite en la mayor cantidad de plataformas posibles.

(más…)

Tabla de productos comprados para mostrar como JSON

SQL: obtener varias filas de subconsulta en una sola, simulando JSON para agrupar

Hace tiempo te mostré cómo “encapsular” varias filas de datos en una sola fila usando JSON con PostgreSQL y las funciones que de JSON que este motor ofrece.

Hoy te enseñaré a obtener varias filas “comprimidas” dentro de una fila simulando un JSON concatenando los resultados, por lo que será compatible con varios motores de bases de datos.

En pocas palabras ingresaremos un arreglo de filas en una fila, agrupando varias filas en una sola, o mejor dicho, colocar resultados de una subconsulta como JSON.

(más…)

Montar y configurar proyecto existente de Laravel desde cero

En este post te describiré cómo montar un proyecto de Laravel en tu servidor de desarrollo. Lo hago para los clientes a los que les envío el código y necesitan una guía para hacerlo.

Este tutorial también sirve por si te has descargado un proyecto de Laravel y lo quieres colocar en tu servidor de desarrollo.

Por cierto, este tutorial va enfocado a usar Laravel con Apache en Windows.

(más…)

Archivo de Excel creado con Java y un ArrayList (Datos dinámicos)

Escribir archivo de Excel con Java

En el tutorial de hoy veremos cómo crear un archivo de Excel (xlsx) con Java, usando la librería Apache POI que es la más antigua pero a su vez la más estable.

Yo usaré maven como gestor de dependencias y NetBeans como IDE, pero recuerda que al final estarás programando en Java así que puedes usar las herramientas de tu preferencia.

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

Por parzibyte, hace