mysql

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.

Continue reading…

Solución a SQLSTATE 42000 Syntax error or access violation: 1055

En este post te mostraré cómo solucionar el error al hacer una consulta en MySQL. Este error viene cuando hacemos un GROUP BY y al menos a mí se me ha presentado de dos formas.

La primera es:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘una_columna_de_la_tabla’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

La segunda es:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘una_columna_de_la_tabla’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Veamos cómo solucionar este error 42000 de MySQL.

Continue reading…

Punto de venta con Spring Boot, MySQL y Bootstrap 4

Sistema de ventas con Spring MVC, MySQL y Bootstrap

En este post voy a presentar el código fuente y el JAR de un sistema de ventas o punto de venta open source programado en Java, utilizando el framework web Spring Boot con el paradigma MVC.

Para el diseño he utilizado Bootstrap, y para la persistencia de datos, MySQL.

Punto de venta con Spring Boot, MySQL y Bootstrap 4

A través de este post te explicaré cómo fue programado este sistema de ventas con Spring Boot, además de mostrarte en dónde está el código fuente y cómo ejecutar el sistema; ya que el mismo es open source y gratuito.

Continue reading…

App de notas con PHP – Ejemplo de código

En este post te voy a explicar y mostrar un ejemplo de código con PHP, MySQL, Twig y Bootstrap en donde se gestionan notas y usuarios.

La app de notas es totalmente responsiva y hecha completamente con PHP, usando MySQL para la persistencia de datos.

El correo es posible gracias a Twig para renderizar la vista, y PHPMailer para enviarlos.

  • Un usuario puede ver, crear, editar y eliminar notas
  • Cualquier usuario puede registrarse usando su correo electrónico
  • Los usuarios pueden cambiar su contraseña
  • Para que el usuario se registre, se debe verificar el correo electrónico
  • Los usuarios pueden resetear su contraseña olvidada
  • Un usuario no puede ver ni modificar las notas de otro usuario
  • Las notas guardadas deben guardar la fecha y hora de creación

Como lo ves, está muy enfocado a la gestión de usuarios.

Continue reading…

Programación con Python y bases de datos

En este post te muestro cómo conectar Python 3 a varios motores de bases de datos, por ejemplo, MySQL / MariaDB, SQLite, SQL Server, PostgreSQL y SQLite 3.

Las bases de datos son un aspecto fundamental en los sistemas de información, pues permiten guardar y leer información de cualquier tipo.

Python provee la interfaz DB API 2.0 para conectar a todas las bases de datos usando la misma API o interfaz de programación de aplicaciones.

Python y bases de datos como MongoDB, MySQL, PostgreSQL, SQL Server, SQLite | ejemplos de código

Existen muchos motores de bases de datos que pueden ser consumidos con Python.

Continue reading…

If en MySQL con selección de columnas

Función if en MySQL

A través de este post voy a ilustrar la función IF en MySQL; la cual funciona similar a los lenguajes de programación pero en forma de función; lo sé, es un poco complicado de decir pero verás que con los ejemplos quedará claro.

Nota: voy a explicar la función if en MySQL, no la sentencia. Me parece que MySQL también cuenta con la sentencia If pero eso es otra historia y se usa sobre todo en funciones, así que seguramente llegaste al post correcto.

Continue reading…

Sistema web de pagos y cooperaciones open source con PHP

Hoy vengo a presentar un sistema gratuito y open source para el control de pagos y cooperaciones creado con PHP, MySQL, Twig, Bootstrap y Vue

Este sistema de pagos está creado con PHP para el lenguaje del servidor, utiliza Twig para renderizar las plantillas, mismas que tienen un diseño usando Bootstrap. La persistencia de datos es gracias a MySQL.

Del lado del cliente se utiliza Vue para consumir la API y traer los datos.

Entre sus características encontramos:

  • Software para el control de pagos de personas
  • Registro de personas
  • Posibilidad de registrar usuarios para iniciar sesión
  • Impresión de comprobantes de pago en impresora térmica
  • Reporte de totales abonados por personas
  • Responsivo y accesible desde teléfono, tableta o computadora

Con algunas modificaciones, este software podría controlar el sistema de abonos de ventas de productos, cooperaciones de personas, pagos, etcétera.

Puede servir para estudiar un proyecto de PHP o para usarlo directamente en producción (de hecho yo lo estoy usando)

A continuación voy a explicar cómo funciona, además de mostrar el código fuente y otras cosas más.

Continue reading…

Conexión Node.js y MySQL con Express

En este post te voy a mostrar cómo conectarte a una base de datos de MySQL usando el lenguaje de programación JavaScript del lado del servidor a través del entorno Node; también conocido como Node.Js.

Vamos a hacer las 4 operaciones básicas de la base de datos: obtener datos, insertar datos, actualizar datos y eliminar datos.

Para la interfaz del usuario vamos a usar Bootstrap y una estructura de aplicación web generada con express-generator.

Continue reading…

Cifrado de datos en MySQL con AES

AES (Advanced encryption standard) es un algoritmo bastante fuerte y seguro, utilizado ampliamente en el mundo de la seguridad informática.

MySQL permite cifrar y descifrar datos utilizando el algoritmo AES a través de las funciones aes_encrypt y aes_decrypt.

Cifrar y descifrar con AES en MySQL

De esta manera podemos proteger y asegurar datos utilizando AES.

En este post vamos a ver cómo cifrar y descifrar datos con AES en MySQL.

Continue reading…

Contraseña incorrecta con MySQL en Linux al entrar como root – Error 1698 (280000)

Hay un error (si se le puede llamar así) muy común en Linux, y es que al iniciar en MySQL con el usuario root se deniega el acceso aunque la contraseña esté bien.

Es decir, aunque las credenciales sean correctas, Linux no permite que entremos como usuario root en MySQL. Normalmente emite el siguiente error:

Error 1698 (280000): Access denied for user ‘root’@’localhost’

La razón es simple: no se permiten conexiones a MySQL como usuario root, pero en este post veremos cómo podemos solucionar eso de dos maneras.

Continue reading…

Longitud de una cadena en MySQL con length y char_length

En este post voy a explicar el uso y la sintaxis de las funciones length y char_length en MySQL, ambas permiten trabajar con cadenas pero devuelven un resultado distinto.

Además de ver las diferencias entre LENGTH y CHAR_LENGTH voy a explicar su sintaxis con ejemplos.

Cabe mencionar que estas funciones devuelven la longitud de una cadena pero de manera distinta debido a eso de los caracteres multibyte,

Continue reading…

Instalar LAMP y phpmyadmin en Ubuntu

En este post vamos a ver cómo instalar la pila de LAMP en Ubuntu; es decir, vamos a instalar Apache, MySQL y PHP en Ubuntu.

Adicional a ello veremos cómo instalar phpmyadmin para administrar MySQL desde el navegador web con una interfaz amigable.

También veremos cómo configurar MySQL, probar la instalación de PHP y probar phpmyadmin.

Nota: esto lo vamos a hacer con tasksel, un “gestor” de Ubuntu. Será algo sencillo.

Nota 2: si usas Windows mira este tutorial.

Continue reading…