MySQL y PHP con PDO: CRUD (create, read, update, delete)

Introducción Aunque ya hay millones de tutoriales sobre esto, me decidí a hacer el mío pero en una forma muy muy simple. Antes de comenzar, debes tener un conocimiento básico en MySQL. Si no tienes instalado esto, pásate por este post para instalar XAMPP. Cabe mencionar que aquí no veremos buenas prácticas de bases de datos, relaciones, etcétera. Nos dedicaremos a usar las tablas que aparecen, sin fijarnos en la normalización, o cosas de ese estilo. ...

febrero 13, 2018 · 13 min · 2603 palabras · Parzibyte

Ejercicios resueltos con MySQL: Funciones de cadena, UPDATE y DELETE

Introducción He publicado hace algunos días algunos ejercicios de consultas en MySQL; puedes verlo aquí. En aquel entonces sólo fueron consultas simples, en este caso veremos cómo editar/actualizar y eliminar, así como el procedimiento para vaciar una tabla. También trabajaremos con algunas funciones de cadena. Estructura y datos de la tabla Para trabajar y realizar nuestros ejercicios utilizaremos la tabla y los datos que ya he dejado en el post anterior, pero la vuelvo a poner a continuación: ...

febrero 12, 2018 · 12 min · 2429 palabras · Parzibyte

PostgreSQL: Separar una cadena con expresión regular y poner los resultados en filas

Introducción Este es otro ejercicio de codewars que estuve a punto de resolver correctamente, aunque al final utilicé unos métodos no recomendados para el ejercicio, pero funcionaron. El problema era el siguiente: Dada una cadena aleatoria, partirla en diferentes filas cada que se encontrara cualquier vocal. Por ejemplo, veamos esta cadena: ah7ki3eumgpa72mdpwe8od Si la partimos o hacemos un split en cada vocal, sin incluir las vocales, tendríamos un resultado así: ...

febrero 10, 2018 · 2 min · 334 palabras · Parzibyte

Ejercicios resueltos de consultas con MySQL

Introducción Este es otro post en donde simplemente me dedico a resolver ejercicios, nada de tutoriales. Sólo explico el problema y resuelvo todo lo que se tenga que hacer. En este caso resolveremos ejercicios de consultas SQL usando el SGBD más popular y más querido: MySQL. Son consultas básicas, pues no haremos uniones ni otra cosa más que proyecciones o “selects”, repasando también un poco las expresiones regulares usando LIKE, agrupando con GROUP BY y utilizando algunas funciones de agregación como SUM, AVG, MIN, etcétera. ...

febrero 6, 2018 · 9 min · 1843 palabras · Parzibyte

Reiniciar contador de auto incremento en MySQL

Introducción En MySQL podemos establecer una columna como autoincremento, es decir, que tenga una columna cuyo valor vaya aumentando en 1 automáticamente cada que ingresa un nuevo dato. Esto está genial, porque podemos utilizar esa columna como un identificador. Todo muy bien hasta aquí, hasta que por alguna u otra razón necesitamos reiniciar ese contador. Ya que por ejemplo puede que tengamos algunos registros eliminados y entonces habrá “huecos” en nuestra tabla. ...

enero 23, 2018 · 3 min · 462 palabras · Parzibyte

Eliminar filas o valores duplicados en MySQL en una sola consulta

Introducción A veces tenemos uno, dos o más datos que se repiten en nuestras tablas. Incluso a veces no sólo se repiten 2 veces, sino 3 o más. Así que hoy veremos cómo eliminar estos duplicados. ...

octubre 31, 2017 · 3 min · 626 palabras · Parzibyte

Consejos al trabajar con bases de datos

Al diseñar una base de datos a veces no nos importa el nombre de las tablas, la notación, etcétera. Pero aquí hay algunos consejos que (según yo) sería bueno tomar en cuenta. ...

octubre 4, 2017 · 4 min · 762 palabras · Parzibyte

Entendiendo el tipo de dato decimal en MySQL

Si queremos manejar dinero en MySQL, o simplemente queremos almacenar decimales sin pérdida de precisión debemos usar el tipo de dato DECIMAL. En lo personal, la mayoría de veces olvido cuál es su sintaxis y cómo se puede usar; así que voy a explicar cómo funciona. ...

septiembre 23, 2017 · 3 min · 599 palabras · Parzibyte

Pequeña shell interactiva para sqlite3 en Python

Ayer estaba haciendo unas pruebas con sqlite3 y python, pero tenía que escribir cada sentencia, guardar el archivo y ejecutarlo… cosa que se me hizo muy tardada. Así que decidí hacer un pequeño script interactivo muy simple pero que permite ejecutar cualquier cosa y abrir cualquier base de datos. El código se explica por sí mismo. """ Abre una base de datos de sqlite3 e interactúa con ella. Útil para hacer pruebas @author parzibyte """ import sqlite3 while True: try: """ Tratar de abrir la base de datos e imprimir cualquier error que pase al hacerlo Comprobar también si el usuario quiere salir completamente del programa """ nombre_base_de_datos = input("Escribe el nombre de la base de datos: [-1 para salir]\t") if nombre_base_de_datos == "-1": break conexion = sqlite3.connect(nombre_base_de_datos) cursor = conexion.cursor() print("Base de datos abierta!") while True: """ Leer la entrada del usuario y salir si así lo desea. Si no, ejecutar la consulta, mostrar los resultados y si hay algún error imprimirlo """ try: sentencia = input("Escribe la consulta que deseas ejecutar: [-1 para cambiar la base de datos]\n\t") if sentencia == "-1": break resultado = cursor.execute(sentencia) datos = cursor.fetchall() conexion.commit() print("Los datos que trajo la consulta son: ") for dato in datos: print(dato) except sqlite3.OperationalError as error: print("Error al ejecutar la consulta: ", error) except sqlite3.OperationalError as error: print("Error al abrir la base de datos: ", error) Aquí pongo unas pequeñas capturas de cómo se ve: ...

septiembre 20, 2017 · 2 min · 305 palabras · Parzibyte

Clonar estructura de tabla y copiar datos en MySQL

A veces es necesario clonar una tabla o parte de ella para después llenarla con datos provenientes de otra tabla. En MySQL podemos hacerlo de una forma fácil y sencilla. Sólo tenemos que usar los siguientes comandos. ...

junio 1, 2017 · 2 min · 280 palabras · Parzibyte