MySQL y MariaDB

mysql-y-mariadb

BETWEEN VS IN VS NOT IN EN MYSQL Y MARIADB

Filtrar información es una de las tareas más frecuentes cuando se trabaja con bases de datos. MySQL y MariaDB ofrecen varias formas de hacerlo de ...

mysql-y-mariadb

VITESS: LA SOLUCIÓN PARA ESCALAR MYSQL DE FORMA HORIZONTAL Y TRANSPARENTE

Vitess es un sistema de clustering de bases de datos de código abierto diseñado específicamente para el escalado horizontal de MySQL. No es una ...

mysql-y-mariadb

CÓMO CREAR UNA BASE DE DATOS DISTRIBUIDA CON MYSQL

Lasbases de datos distribuidas permiten repartir los datos entre varios servidores (nodos) para ganar escalabilidad, alta disponibilidad, tolerancia a...

mysql-y-mariadb

CÓMO CALCULAR LA MEDIANA Y PERCENTILES EN MARIADB

En el análisis de datos y la ciencia de datos, la mediana y los percentiles son medidas de posición fundamentales. La mediana, percentil 50, es ...

mysql-y-mariadb

COALESCE EN MYSQL: CÓMO MANEJAR VALORES NULL DE FORMA ELEGANTE

En el trabajo diario con bases de datos es muy frecuente encontrarse con valores "NULL". Estos representan la ausencia de información y, si no se ...

mysql-y-mariadb

SUBCONSULTAS EN MYSQL: MÁS PODER Y CLARIDAD EN LAS CONSULTAS

Las subconsultas, también conocidas como subqueries o consultas anidadas, son una de las herramientas más útiles de SQL. En MySQL, una subconsulta ...

mysql-y-mariadb

LAS BASES DE DATOS INTERNAS DE MYSQL

MySQL no solo almacena datos. También guarda información crítica sobre sí mismo para poder funcionar, protegerse y optimizarse. Una instalación ...

mysql-y-mariadb

COUNT(*) VS COUNT(COLUMNA) EN MYSQL

Una de las confusiones mas comunes, en MySQL, al trabajar con agregaciones es la diferencia entre "COUNT(*)" y "COUNT(columna)". Aunque ambos cuentan ...

mysql-y-mariadb

ERRORES COMUNES CON GROUP BY EN MYSQL

El comando "GROUP BY" es una de las herramientas más poderosas de SQL para resumir y analizar datos. Sin embargo, también es una de las que más ...

mysql-y-mariadb

JOIN VS UNION EN MYSQL

En MySQL es muy común confundir "JOIN" y "UNION", aunque hacen cosas completamente distintas. JOIN – Combina columnas de tablas relacionadas Une ...

mysql-y-mariadb

OPTIMIZACIÓN DE SQL EN MYSQL

Usar índices adecuados Los índices correctos aceleran las búsquedas, filtros, joins y ordenamientos. Ejemplo: -- Índice en columna ...

mysql-y-mariadb

NTILE EN MYSQL: QUÉ ES, CÓMO FUNCIONA Y EJEMPLOS PRÁCTICOS

NTILE es una función ventana, disponible en MySQL desde la versión 8.0. Su propósito es dividir un conjunto de filas ordenadas en un número ...

mysql-y-mariadb

GUÍA PRÁCTICA DE DESNORMALIZACIÓN EN MYSQL

Aunque en bases de datos siempre nos enseñan la importancia de la normalización de una base de datos para evitar redundancia, existe una técnica ...

mysql-y-mariadb

¿QUÉ ES UN BLOOM FILTER Y CÓMO SE USA EN MYSQL?

Un Bloom Filter es una estructura de datos probabilística que permite comprobar, de forma muy eficiente en memoria, si un elemento probablemente ...

mysql-y-mariadb

CTE VS SUBCONSULTAS EN MYSQL: ESCRIBIR CONSULTAS LEGIBLES

Subconsultas Anidadas SELECT * FROM ( SELECT * FROM ( SELECT id FROM tabla1 WHERE ... ) AS sub1...

mysql-y-mariadb

LA CARDINALIDAD EN BASES DE DATOS: GUÍA PRÁCTICA CON MYSQL

La cardinalidad en bases de datos es uno de los conceptos más importantes al momento de diseñar una base de datos relacional. Se trata de definir ...

mysql-y-mariadb

¿QUÉ SON LAS CONSULTAS PARAMETRIZADAS EN MYSQL?

Una consulta parametrizada, o prepared statement, es una consulta SQL que utiliza parámetros en lugar de concatenar directamente los valores del ...

mysql-y-mariadb

¿QUÉ ES LA INTEGRIDAD REFERENCIAL EN MYSQL? GUÍA PRÁCTICA

La Integridad Referencial es uno de los conceptos más importantes en el diseño de bases de datos relacionales. En MySQL se implementa principalmente...

mysql-y-mariadb

¿QUÉ ES SON LAS CONSTRAINTS EN MYSQL? GUÍA COMPLETA

Una Constraint, o restricción, es una regla que se aplica a una o varias columnas de una tabla para garantizar que los datos cumplan ciertos ...

mysql-y-mariadb

¿QUÉ ES UN SCHEMA EN UNA BASE DE DATOS MYSQL?

Un Schema es una estructura lógica que organiza todos los objetos de una base de datos: Tablas Vistas Procedimientos almacenados y Funciones ...

mysql-y-mariadb

SELF JOIN EN MYSQL: GUÍA COMPLETA Y PRÁCTICA

Un Self JOIN consiste en hacer referencia a la misma tabla más de una vez en una consulta, asignándole alias diferentes para poder diferenciarlas. ...

mysql-y-mariadb

MYSQL NDB CLUSTER: UNA SOLUCIÓN DE BASE DE DATOS DISTRIBUIDA DE ALTA DISPONIBILIDAD Y ESCALABILIDAD

MySQL NDB Cluster, es una tecnología de base de datos distribuida que combina el popular servidor MySQL con el motor de almacenamiento NDB, Network ...

mysql-y-mariadb

MYSQL INNODB CLUSTER: LA SOLUCIÓN DE ALTA DISPONIBILIDAD NATIVA PARA MYSQL

MySQL InnoDB Cluster es la solución oficial recomendada por Oracle para implementar alta disponibilidad y escalabilidad en bases de datos MySQL ...

mysql-y-mariadb

GUÍA COMPLETA DE ALIAS EN MYSQL Y MARIADB

Un alias es un nombre alternativo que se da a una columna o a una tabla dentro de una consulta SQL. Este nombre solo existe durante la ejecución de ...

mysql-y-mariadb

MANTENIMIENTO DE MYSQL Y MARIADB: GUÍA PRÁCTICA PARA MANTENER LA BASE DE DATOS SALUDABLE

El mantenimiento de MySQL y MariaDB de forma periódica es una de las tareas más importantes para garantizar el rendimiento, seguridad y estabilidad ...

mysql-y-mariadb

GUÍA COMPLETA DE MYSQL SHELL: LA CONSOLA DEFINITIVA

MySQL Shell es un cliente avanzado y un entorno de ejecución interactivo para el servidor MySQL. A diferencia del cliente clásico de línea de ...

mysql-y-mariadb

MYSQL ROUTER: LA SOLUCIÓN PARA ENRUTAMIENTO TRANSPARENTE EN MYSQL

MySQL Router es un middleware que actúa como intermediario entre las aplicaciones cliente y los servidores MySQL. Su principal objetivo es ...

mysql-y-mariadb

PROXYSQL: LA SOLUCIÓN DE ALTO RENDIMIENTO PARA GESTIONAR EL TRÁFICO DE BASES DE DATOS MYSQL

ProxySQL es un proxy de bases de datos open source, de alto rendimiento y protocol-aware. Diseñado principalmente para MySQL, MariaDB, Percona ...

mysql-y-mariadb

CÓMO GESTIONAR EL POOL DE CONEXIONES EN MYSQL

El pool de conexiones es uno de los factores más importantes para lograr alto rendimiento, escalabilidad y estabilidad en aplicaciones que usan ...

mysql-y-mariadb

EXPRESIONES REGULARES EN MYSQL: GUÍA COMPLETA

Las >Las expresiones regulares o regex son una herramienta muy potente para realizar búsquedas y manipulaciones de texto avanzadas en bases de datos....

mysql-y-mariadb

GUÍA COMPLETA DEL OPERADOR EXCEPT EN MYSQL

El operador EXCEPT es un operador de conjuntos del estándar SQL que devuelve las filas de la primera consulta que no existen en la segunda consulta. ...

mysql-y-mariadb

TIPOS DE CONSULTAS EN SQL: LAS 5 CATEGORÍAS PRINCIPALES EN MYSQL

SQL, Structured Query Language, es el lenguaje estándar para gestionar bases de datos relacionales. En MySQL, al igual que en la mayoría de los ...

mysql-y-mariadb

FORCE INDEX EN MYSQL: GUÍA COMPLETA COMO EXPERTO

FORCE INDEX es una instrucción de optimización que obliga a MySQL a utilizar un índice específico para ejecutar una consulta, anulando el plan ...

mysql-y-mariadb

¿QUÉ ES REQUIRE_SECURE_TRANSPORT EN MYSQL?

"require_secure_transport" es una variable del sistema en MySQL que permite forzar el uso de conexiones cifradas, TLS/SSL, para todas las conexiones ...

mysql-y-mariadb

¿QUÉ ES EL VALIDATE PASSWORD COMPONENT EN MYSQL?

validate_password es un componente oficial de MySQL, a partir de MySQL 8.0 que sirve para mejorar la seguridad al obligar a que las contraseñas ...

mysql-y-mariadb

MYSQL VS POSTGRESQL: ¿CUÁL ES LA MEJOR OPCIÓN?

Ante la duda de si se debería usar MySQL o PostgreSQL en un proyecto. La respuesta depende del contexto: Costo MySQL es completamente gratuito en...

mysql-y-mariadb

MYSQL VS ORACLE: CUÁL ES LA MEJOR OPCIÓN

Ante la duda de si se debería usar MySQL o Oracle en un proyecto. La respuesta depende del contexto: Costo MySQL es gratuito en su versión ...

mysql-y-mariadb

¿QUÉ SON LOS ÍNDICES B-TREE EN MYSQL Y POR QUÉ SON TAN IMPORTANTES?

Un índice B-Tree, Balanced Tree, es una estructura de datos de árbol balanceado diseñada específicamente para sistemas de almacenamiento en disco....

mysql-y-mariadb

CÓMO COMPRIMIR DATOS EN MYSQL

En MySQL, específicamente en el motor de almacenamiento InnoDB, el formato de fila, ROW_FORMAT define cómo se almacenan físicamente los datos de ...

mysql-y-mariadb

TIPOS DE DATOS EN MYSQL: GUÍA COMPLETA

MySQL es uno de los sistemas de gestión de bases de datos relacionales más utilizados del mundo. Elegir correctamente el tipo de dato para cada ...

mysql-y-mariadb

ROLES EN MYSQL Y MARIADB

Los roles en MySQL y MariaDB son una de las mejores mejoras de seguridad introducidas en ambos sistemas. Permiten agrupar privilegios y asignarlos ...

mysql-y-mariadb

INTRODUCCIÓN A LA REPLICACIÓN EN MYSQL

La replicación consiste en copiar automáticamente los datos de un servidor, llamado master o primary a uno o varios servidores, slaves o replicas. ...

mysql-y-mariadb

QUÉ HACE REBUILD EN MYSQL

El comando "REBUILD" en MySQL se utiliza para reconstruir una tabla o sus particiones. Es una operación muy útil, especialmente en tablas grandes o ...

mysql-y-mariadb

SQL MÁS ALLÁ DEL SELECT: RECURSOS MYSQL QUE SE DEBEN CONOCER

Aunque muchos de los que usan MySQL se limitan a usar "SELECT ... FROM ... WHERE", el verdadero poder de MySQL está en funciones y técnicas ...

mysql-y-mariadb

GUÍA COMPLETA DE LATERAL JOIN EN MYSQL

LATERAL JOIN es una de las características más potentes introducidas en MySQL 8.0.14. Permite que una subconsulta en la cláusula "FROM" haga ...

mysql-y-mariadb

MOTOR MERGE EN MYSQL Y MARIADB: QUÉ ES Y CÓMO COMBINAR TABLAS MYISAM

MRG_MYISAM, también conocido como motor MERGE), es un motor de almacenamiento especial de MySQL y MariaDB. Se suele usar para manejar tablas muy ...

mysql-y-mariadb

GUÍA COMPLETA DE GENERATED COLUMNS EN MYSQL

Las Generated Columns (columnas generadas) son una funcionalidad muy potente introducida en MySQL 5.7 que permite crear columnas cuyo valor se calcula...

mysql-y-mariadb

TRAZABILIDAD EN MYSQL: ESTRATEGIAS PARA EL CONTROL DE DATOS

La trazabilidad en MySQL garantiza que cada modificación en la base de datos deje una huella digital. Esto es crítico para la recuperación ante ...

mysql-y-mariadb

COLUMNSTORE DE MARIADB : EL MOTOR COLUMNAR PARA ANÁLISIS DE DATOS Y BIG DATA EN MARIADB

MariaDB ColumnStore es un motor de almacenamiento columnar (columnar storage engine) diseñado específicamente para cargas de trabajo analíticas de ...

mysql-y-mariadb

EL CHECK CONSTRAINT EN MYSQL: CÓMO GARANTIZAR LA INTEGRIDAD DE LOS DATOS

El constraint = 18), -- Debe ser mayor o igual a 18 salario DECIMAL(10,2) CHECK (salario > 0), -- Salario positivo ...

mysql-y-mariadb

CÓMO HABILITAR UN MOTOR DE ALMACENAMIENTO EN MYSQL O MARIADB

Si al ejecutar "SHOW ENGINES;" no se muestra el motor de almacenamiento que se necesita aparece con el estado "NO" o "DISABLED", significa que no ...

mysql-y-mariadb

CRUD CON MOTOR MERGE EN MARIADB Y MYSQL (MRG_MYISAM)

El motor merge es un motor de almacenamiento especial de MySQL y MariaDB. Se suele usar para manejar tablas muy grandes dividiéndolas en partes más ...

mysql-y-mariadb

MOTORES DE ALMACENAMIENTO DE MARIADB

MariaDB tiene una arquitectura modular, lo que significa que se puede elegir un motor de almacenamiento diferente por tabla, según el tipo de carga ...

mysql-y-mariadb

¿QUÉ ES EL TIPO DE DATO VECTOR EN MARIADB?

El tipo de dato VECTOR(N) permite almacenar vectores de alta dimensión (embeddings) directamente en MariaDB. Un vector es simplemente una lista ...

mysql-y-mariadb

EJEMPLO SENCILLO DE VECTOR Y DE UNA BÚSQUEDA SEMÁNTICA Y SU USO EN IA

Ejemplo de pequeña base de conocimiento de artículos donde el usuario pueda hacer preguntas en lenguaje natural y MariaDB devuelva los artículos ...

mysql-y-mariadb

EXPLICACIÓN Y EJEMPLOS DEL MOTOR DE ALMACENAMIENTO CONNECT DE MARIADB

El motor de almacenamiento CONNECT de MariaDB permite acceder a datos externos (archivos, ODBC, otros servidores, XML, etc.) como si fueran tablas ...

mysql-y-mariadb

DIFERENCIAS ENTRE AUTO_INCREMENT Y SECUENCIAS EN MARIADB

Las secuencias en MariaDB son objetos de base de datos que generan una serie de números enteros únicos de forma automática y controlada. Se ...

mysql-y-mariadb

FAMILIA DE COMANDOS SHOW EN MYSQL Y MARIADB

En post information_schema comentaba la información que se puede obtener de una base de datos en concreto. El comando SHOW es una herramienta ...

mysql-y-mariadb

MYSQL VS MARIADB – DIFERENCIAS REALES

Muchos desarrolladores y DBAs siguen pensando que MariaDB es un fork de MySQL con otro nombre. Son dos motores que han divergido significativamente en...

mysql-y-mariadb

MYSQL HEATWAVE

MySQL HeatWave es un servicio de base de datos en la nube totalmente gestionado de Oracle, basado en MySQL Enterprise Edition. Es una de las ...

mysql-y-mariadb

PARTITION BY EN MYSQL

Desde MySQL 8.0 las funciones de ventana revolucionaron las consultas analíticas. Y el corazón de casi todas es PARTITION BY: divide el conjunto de ...

mysql-y-mariadb

PRIVILEGIOS DINÁMICOS EN MYSQL

Después de explicar los privilegios en MySQL hay que explicar los privilegios dinámicos en MySQL. Son permisos introducidos a partir de MySQL 8 que ...

mysql-y-mariadb

PRIVILEGIOS DE MYSQL

Los privilegios de MySQL son permisos que se otorgan a usuarios o roles para realizar operaciones específicas en una base de datos, como leer, ...

mysql-y-mariadb

TABLAS DINÁMICAS EN MYSQL

Las tablas dinámicas en bases de datos, son una técnica que permite resumir, analizar y reorganizar datos de una tabla de manera dinámica para ...

mysql-y-mariadb

LENGUAJE DE CONTROL DE TRANSACCIONES EN MYSQL

El TCL, Transaction Control Language, o Lenguaje de Control de Transacciones en MySQL es un conjunto de comandos utilizados para gestionar ...

mysql-y-mariadb

CONSULTAS PREPARADAS EN MYSQL

Las consultas preparadas en MySQL definida y que se compila una vez consultas SQL de manera dinámica y segura. Son especialmente útiles para ...

mysql-y-mariadb

HERRAMIENTAS PARA ADMINISTRAR MYSQL

Existen varias herramientas para administrar MySQL, cada una con características específicas para diferentes necesidades, como desarrollo, ...

mysql-y-mariadb

NIVELES DE AISLAMIENTO DE TRANSACCIONES EN MYSQL

Los niveles de aislamiento de transacciones en MySQL definen cómo las transacciones interactúan entre sí y cómo se manejan los datos durante la ...

mysql-y-mariadb

EJEMPLO DE ACID EN MYSQL

Hace un tiempo escribí sobre ACID en MySQL y ahora quiero poner un ejemplo. Lo hago en un post separado para no tener un largo y denso. Ejemplo de ...

mysql-y-mariadb

COMODINES EN MYSQL

En MySQL, los comodines, o wildcards, se utilizan principalmente en consultas con el operador LIKE para buscar patrones dentro de cadenas de texto. ...

mysql-y-mariadb

BUSCADOR FUZZY EN MYSQL

La búsqueda difusa Fuzzy en MySQL permite encontrar coincidencias aproximadas en lugar de coincidencias exactas, lo que es útil para manejar errores...

mysql-y-mariadb

VISTAS MATERIALIZADAS EN MYSQL

Las vistas materializadas son objetos de base de datos que almacenan físicamente el resultado de una consulta SQL, como una tabla, pero se actualizan...

mysql-y-mariadb

¿QUÉ SIGNIFICA "-LOG" EN LA VERSIÓN DE MYSQL?

Al verificar la versión de MySQL en el proyecto en el que estoy trabajando, noté que el número de versión venía acompañado de "-log"

mysql-y-mariadb

JOINS DE MYSQL EN DIAGRAMAS

En este post pongo una representación gráfica de los diferentes tipos de joins que hay en mysql.

mysql-y-mariadb

SELF JOIN EN MYSQL

self join en MySQL es una operación en la que una tabla se une consigo misma. Esto es útil cuando necesitas comparar filas dentro de la misma tabla ...

mysql-y-mariadb

FULLTEXT EN MYSQL

Cuando realizamos búsquedas de textos o coincidencias de palabras en una base de datos generalmente utilizamos la sentencia WHERE LIKE. Sin embargo,...

mysql-y-mariadb

COMO DEFINIR LA UBICACIÓN DE LOS LOGS DE MYSQL

Para definir la ubicación de los logs de MySQL, hay que configurar el archivo de configuración principal de MySQL (my.cnf en Linux o my.ini en ...

mysql-y-mariadb

UUID EN MYSQL

Un uuid en mysql, Universally Unique Identifier, o Identificador Único Universal, es un valor de 128 bits que se utiliza para generar identificadores...

mysql-y-mariadb

EXPORTAR UNA CONSULTA A UN FICHERO EN MYSQL

En MySQL, la cláusula SELECT ... INTO OUTFILE se utiliza para exportar una consulta a un fichero en mysql. A continuación, te detallo las ...

mysql-y-mariadb

GOBERNANZA DEL DATO EN MYSQL

La gobernanza del dato en MySQL, al igual que en cualquier sistema de gestión de bases de datos, implica aplicar políticas, controles y buenas ...

mysql-y-mariadb

CALIDAD DEL DATO EN MYSQL

La calidad del dato en bases de datos se refiere a que los datos sean precisos, completos, consistentes, actuales, íntegros y relevantes. Garantizar ...

mysql-y-mariadb

FORMATOS DE FILA EN MYSQL

El Row Format (formato de fila) en mysql, define cómo se almacenan físicamente las filas de una tabla en el motor de almacenamiento, como InnoDB o ...

mysql-y-mariadb

¿QUÉ ES MARIADB?

MariaDB es un sistema de gestión de bases de datos relacionales (RDBMS) de código abierto. Es una bifurcación (fork de GIT) de MySQL, creada por ...

mysql-y-mariadb

CUANTOS USUARIOS DEBE TENER UNA BASE DE DATOS DE UNA WEB

Hace un tiempo vi que en linkedin alguien hacía la pregunta: "cuantos usuarios debe tener una base de datos de una web" y estuve analizándolo y le ...

mysql-y-mariadb

BIGDATA Y MYSQL

El bigdata consiste en manejar grandes cantidades de datos y usar esas cantidades de datos con MySQL puede ser un desafío, pero usando varias ...

mysql-y-mariadb

OBTENER VERSIÓN MYSQL MEDIANTE QUERY

Hay varias maneras de saber que versión de mysql hay instalada en el servidor. Para mí la más fácil es obtener version mysql mediante query y no ...

mysql-y-mariadb

ELIMINAR CLÁUSULA DEFINER EN BACKUP DE MYSQL

Si tenemos una base de datos mysql y tenemos vistas declaradas y se hace una copia de seguridad de dicha base de datos, se va a añadir la línea: ...

mysql-y-mariadb

FUNCIÓN RUNNING TOTAL EN MYSQL

La función running total de mysql asigna el número de fila, empezando desde el "1" y de forma secuencial con el orden de las filas dentro de la ...

mysql-y-mariadb

FUNCIÓN LAG EN MYSQL

La función lag de mysql se utiliza para obtener el valor anterior de la fila actual, es una función ventana. La función lag siempre se utiliza con ...

mysql-y-mariadb

FUNCIÓN LEAD DE MYSQL

La función lead de mysql se utiliza para obtener el valor siguiente de la fila actual, es una función ventana. La función lead siempre se utiliza ...

mysql-y-mariadb

FUNCIÓN ROW NUMBER EN MYSQL

La función row number en mysql se utiliza para devolver el número secuencial de cada fila dentro de su partición, es una función ventana. El ...

mysql-y-mariadb

FUNCIÓN DENSE RANK DE MYSQL

La función rank de mysql. se engloba dentro de lo que son las funciones ventana de mysql y es similar a la función rank en mysql.Esta función ...

mysql-y-mariadb

WINDOW FUNCTIONS EN MYSQL

Las funciones ventana (window functions) son funciones sql que realizan cálculos sobre el conjunto de filas relacionadas con la fila actual. Este ...

mysql-y-mariadb

OBTENER EL VALOR MÁS GRANDE DE UNA LISTA EN MYSQL

Para obtener el valor más grande de una lista en mysql hay que usar la función GREATEST una serie de valores, que pueden ser cadenas o numéricos. ...

mysql-y-mariadb

OBTENER EL VALOR MÁS PEQUEÑO DE UNA LISTA EN MYSQL

Para obtener el valor más pequeño de una lista en mysql hay que usar la función LEAST una serie de valores, que pueden ser cadenas o numéricos. ...

mysql-y-mariadb

CAMPOS ESPACIALES EN MYSQL

MySQL soporta datos espaciales y funciones espaciales, lo que te permite trabajar con datos geográficos y geométricos. Los campos espaciales en ...

mysql-y-mariadb

OPERADOR UNION EN MYSQL

El operador union en mysql, al igual que la mayoría de bases de datos, se usa para combinar los conjuntos de resultados de dos o más declaraciones ...

mysql-y-mariadb

CARGAR DATOS EN MYSQL DESDE UN FICHERO

En varios proyectos en los que he trabajado en necesitado cargar datos en una base de datos de mysql desde un fichero, ya que es una forma bastante ...

mysql-y-mariadb

TAMAÑO DE TABLA EN MYSQL

Para saber cual es el tamaño de las tablas de nuestra base de datos MySQL hay que ejecutar la siguiente sentencia: SELECT table_name AS "Tabla", ...

mysql-y-mariadb

CROSS JOIN EN MYSQL

La cláusula CROSS JOIN en mysql retorna todas las líneas de las tablas cruzadas, es decir, para cada línea de la tabla izquierda queremos todas las...

mysql-y-mariadb

COPIAS DE SEGURIDAD INCREMENTALES EN MYSQL

Hace un tiempo hablé de las copias de seguridad en mysql, en las que se crea un fichero sql con todas las tablas y los datos de la base de datos de ...

mysql-y-mariadb

COLUMNAS DINÁMICAS EN MYSQL

Las columnas dinámicas en mysql permiten almacenar diferentes conjuntos de columnas para cada fila en una tabla .Funciona almacenando un conjunto de ...

mysql-y-mariadb

FUNCIÓN COALESCE EN MYSQL

La función coalesce en mysql, o función de coalescencia, se usa para reemplazar un valor "null" retornado en una consulta. Supongamos que tenemos ...

mysql-y-mariadb

ACORTAR LA CONEXIÓN A MYSQL POR LÍNEA DE COMANDOS

Cuando nos conectamos a mysql por consola tenemos que hacerlo mediante el comando mysql -h host -u usuario -p clave siendo largo y pesado. Pero hay ...

mysql-y-mariadb

CONECTARSE DESDE PHPMYADMIN A UN SERVIDOR MYSQL EXTERNO

Normalmente la herramienta de phpmyadmin se suele usar para conectarse a bases de datos locales, que están en el mismo alojamiento. Pero si alguna ...

mysql-y-mariadb

PHPMYADMIN

PhpMyAdmin es una aplicación web que permite administrar bases de datos MySQL de forma bastante intuitiva. Está desarrollado en php. La mayoría de ...

mysql-y-mariadb

COMO REALIZAR CONSULTA ENTRE VARIAS BASES DE DATOS EN MYSQL

Para realizar consulta entre varias bases de datos en mysql lo único que hay que hacer es especificar la base de datos antes del nombre de la tabla y...

mysql-y-mariadb

NATURAL JOIN EN MYSQL

Cualquier persona que haya usado mysql o cualquier base de datos relacional que usa sql habrá usado join, left join, etc... pero hay un tipo de join ...

mysql-y-mariadb

RECUPERAR LA CLAVE DEL USUARIO ROOT EN MYSQL

Para recuperar la clave del usuario root en mysql hay que seguir los pasos siguientes: Parar el servicio mysql con el comando sudo systemctl stop ...

mysql-y-mariadb

INSERT IGNORE EN MYSQL

Hoy quiero comentar el uso de insert ignore en mysql que resulta bastante útil para evitar ciertas duplicidades en las bases de datos. La sintaxis es...

mysql-y-mariadb

CONCATENAR EN MYSQL

Cuando se lleva un tiempo usando mysql se ha tenido que usar la función concat para concatenar dos campos de una tabla, por ejemplo, el campo ...

mysql-y-mariadb

OPERADOR ALL EN MYSQL

Hace poco descubrí que la existencia del operador all en mysql. El operador ALL, permite comparar un valor, usando los comparadores de "<, >, ...

mysql-y-mariadb

OPERADOR ANY EN MYSQL

Hace poco descubrí que la existencia del operador any en mysql. El operador ANY, permite comparar un valor, usando los comparadores de ", =, ", ...

mysql-y-mariadb

COMO CAMBIAR EL DIRECTORIO DE BASE DE DATOS EN MYSQL

Estoy en un proyecto en el que me conecto a otro entorno y tenía que importar una base de datos que su fichero de importación ocupaba 20 GB y en mi ...

mysql-y-mariadb

COMPRIMIR Y DESCOMPRIMIR DATOS EN MYSQL

Si vamos a tener una base de datos con una cantidad enorme de textos largos lo mejor será guardar esos datos comprimidos y luego descomprimirlos. ...

mysql-y-mariadb

DISTANCIA LEVENSTEIN EN MYSQL

Hace poco escribí un artículo sobre distancia Levenstein en php donde se explcaba lo que era y para que se usaba así que solo voy a explicarlo como...

mysql-y-mariadb

FUNCIÓN RANK DE MYSQL

Hoy he descubierto la función rank de mysql. La función RANK asigna un rango a cada fila dentro de la partición de un conjunto de resultados. El ...

mysql-y-mariadb

COMO SABER EN QUE TABLA ESTÁ UN CAMPO EN MYSQL

En este post os cuento como saber en que tabla está un campo en mysql es una query bastante sencillita SELECT DISTINCT TABLE_NAME FROM ...

mysql-y-mariadb

MYSQL DE PERCONA

Antes de empezar con este post ¿Qué es percona? Percona es una empresa de software y servicios especializada en bases de datos MySQL y desde sus orígenes ha mantenido el 100% de compatibilidad...

mysql-y-mariadb

COPIAS DE SEGURIDAD EN MYSQL

Hay una manera bastante sencilla de realizar copias de seguridad del contenido de una una tabla de una base de datos a un fichero plano y también de volver a cargar dicho fichero a la tabla ...

mysql-y-mariadb

CREAR CURSORES EN MYSQL

Hace un tiempo escribí sobre procedimientos y funciones almacenados en mysql y hoy voy a hablar sobre como crear cursores en mysql, que son bucles que sirven para recorrer el resultado de una ...

mysql-y-mariadb

RECUPERAR VALORES CAMPO ENUM EN MYSQL

Hace un tiempo escribí un post sobre el tipo de dato enum en mysql y ahora voy a describir como recuperar valores campo enum en mysql. La consulta es bastante sencilla pero hay que hacerla sobre...

mysql-y-mariadb

TRIGGERS EN MYSQL

En MYSQL también se permite el manejo de TRIGGERS como en ORACLE y la verdad es que resulta bastante sencillo. Su código no es nada complejo si se tienen nociones de programación.

mysql-y-mariadb

PROCEDIMIENTOS Y FUNCIONES ALMACENADOS EN MYSQL

En MySQL es posible crear procedimientos y funciones como en cualquier lenguaje de programación. No es difícil, solo hay que conocer la sintaxis y ya se pueden crear. A continuación pongo un ...

mysql-y-mariadb

VISTAS EN MYSQL

En bb.dd una VISTA es una tabla virtual, que puede estar formada por varias tablas, que es resultado de una consulta. El motivo principal de las vistas es agilizar el proceso de consulta de ...

mysql-y-mariadb

CACHÉ DE CONSULTAS EN MYSQL

MySQL permite la opción de guardar las consultas en caché, lo más lógico es guardar las consultas de tipo select ya que las consultas de tipo insert, delete o update rara vez van a coincidir....

mysql-y-mariadb

MOTORES DE ALMACENAMIENTO EN MYSQL

Siempre había pensado que MySQL solo tenía dos motores de almacenamiento MyISAM y InnoDB, escribí un post en este blog para hablar de sus diferencas. Pero hace poco descubrí que MySQL tiene ...

mysql-y-mariadb

TIPO DE CAMPOS ÓPTIMOS EN MYSQL

En MySQL hay una manera de saber si se están usando el tipo de datos óptimo para una tabla. Es una manera de hacerlo bastante poco conocida y la verdad es que de utilidad. Basta con usar el ...

mysql-y-mariadb

BÚSQUEDA POR TEXTO EN MYSQL

Cuando en una base de datos se tiene que hacer una búsqueda por texto se usa el operador LIKE y si se quieren mostrar varios resultados que concuerden con esa búsqueda se usa LIKE '%%'. Pero ...

mysql-y-mariadb

EXPLAIN EN MYSQL

En mysql hay una sentencia que permite optimizar las queries usadas para obtener datos de la base de datos. Dicha sentencia es explain que se usan poniendo dicha sentencia justo antes de la ...

mysql-y-mariadb

SLOW QUERIES EN MYSQL

Uno de los problemas más comunes de mysql son las consultas de sql que tardan demasiado tiempo en ejecutarse. Un opción es analizar la query con la opción EXPLAIN. Otra opción es activar el ...

mysql-y-mariadb

TRANSACCIONES EN MYSQL

Una transacción es un conjunto de operaciones sql que se ejecutan como un único bloque, es decir, si falla una operación fallan todas. Es una unidad única de trabajo. Si una transacción ...

mysql-y-mariadb

INFORMATION_SCHEMA DE MYSQL

La base de datos information_schema de Mysql almacena todo lo relacionado a todas las bases de datos creadas en el servidor de mysql y de esa base de datos se pueden obtener diferentes datos como...

mysql-y-mariadb

TOO MANY CONECTIONS EN MYSQL

El error too many conections de mysql significa que ha mysql le están llegando demasiadas peticiones. Para arreglar este problema hay que cambiar la configuración de mysql. Para saber el número...

mysql-y-mariadb

PROCEDURE ANALYSE EN MYSQL

Hay una funcionalidad de MySQL que es poco conocida que es procedure analyse y se añade al final de la consulta. El resultado es un listado con los nombres de los campos de la consulta con los ...

mysql-y-mariadb

PRIORIZANDO QUERIES EN MYSQL

Una forma de optimizar el acceso a nuestra base de datos myswl se pueden establecer prioridades a las queries. La verdad es que es bastante sencillo: -INSERT DELAYED: Añadiendo el parámetrod ...

mysql-y-mariadb

ÍNDICES EN MYSQL

Un índice es un puntero a una fila de una determinada tabla de nuestra base de datos, es decir, asocia el valor de una determinada columna (o el conjunto de valores de una serie de columnas) con...

mysql-y-mariadb

VARIABLES MYSQL

En MySQL se pueden usar variables como en los lenguajes de programación y puede resultar bastante útil. Y se puede guardar el valor de una consulta Select a una variable.El sintaxis para ...

mysql-y-mariadb

OPTIMIZAR INNODB EN MYSQL

Buscoando información sobre MySQL en internet me he encontrado con varios posts de como optimizar MySQL cuando se usan bases de datos con motor de almacenamiento InnoDB.Cuando se instala MySQL ...

mysql-y-mariadb

COMO OBTENER IP Y PUERTO DE MYSQL

Este post va a ser muy breve. Para obtener la ip y el puerto de la base de datos MySQL basta con lanzar la siguiente query: SHOW VARIABLES WHERE Variable_name IN ( 'hostname', 'port')...

mysql-y-mariadb

OPTIMIZACIÓN DE QUERIES EN MYSQL

Siempre hay que buscar la manera de optimizar la recuperación de información de una base de datos desde un buen esquema de base de datos, uso de índices hasta hacer unas queries óptimas.En ...

mysql-y-mariadb

USING EN JOINS EN MYSQL

Revisando un manual que tengo sobre MySQL he visto que en los JOIN se puede usar la directiva USING en vez de ON cuando los campos tienen el mismo nombre. Voy a poner un ejemplo para que quede ...

mysql-y-mariadb

COPIAS DE SEGURIDAD DE MYSQL

Hacer copias de seguridad de la base de datos, con cierta regularidad es bastante importante. En Mysql hay varias formas de hacer copias de seguridad: mysqldump: Este comando, se encarga de ...

mysql-y-mariadb

BUSCAR REGISTROS DUPLICADOS EN MYSQL

Hoy he tenido que buscar las veces que se repetía un campo en una misma tabla. Aunque no he tenido que hacer en oracle es prácticamente igual en mysql. La query es: SELECT campo, COUNT(*) ...

mysql-y-mariadb

EVENTOS EN MYSQL

Los eventos en MySQL consisten en la ejecución planificada de ciertas sentencias que pueden ser llamadas a procedimientos almacenados o simples conjuntos de sentencias SQL. La ventaja de estos ...

mysql-y-mariadb

MYSQLCHECK EN MYSQL

mysqlcheck es un comando de MySQL que sirve tanto para analizar, reparar y optimizar todas las bases de datos de un servidor. Para poder usar este comando hya que tener permisos de root y hay que...

mysql-y-mariadb

MODIFICAR CLAVE USUARIO ROOT EN MYSQL

Es útil poder modificar la contraseña del usuario root, ya sea por la instalacion o porque se ha perdido la contraseña de root de MySQL. Para poder cambiar la contraseña de root de MySQL, es ...

mysql-y-mariadb

TAMAÑO BASE DE DATOS MYSQL

Para saber cual es el tamaño de nuestra base de datos MySQL hay que ejecutar la siguiente sentencia...

mysql-y-mariadb

ATRIBUTO UNSIGNED EN MYSQL

El atributo unsigned guarda el valor positivo del tipo de dato seelccionado. Así que si voy a tener un campo que almacenará un precio, una edad, etc... convendría usar este atributo ya que ...

mysql-y-mariadb

INSERTAR DUPLICADOS CON MYSQL

Hay veces, que sin darnos cuenta intentamos insertar valores duplicados en mysql y claro salta un error, sobre todo por duplicidad de primary key ante ésto mysql ofrece dos soluciones: INSERT...

mysql-y-mariadb

MEJORAR LA PAGINACIÓN CON MYSQL

Siempre que se programa un sistema de contenidos con paginación, como pueden ser los comentarios de una noticia, o mostrar los post de un blog se suele programar con dos queries: Una query ...

mysql-y-mariadb

CAMBIAR PUERTO EN MYSQL

Como es sabido por todos el puerto por defecto de MySQL es el puerto 3306 (tcp). Las razones por las que cambiar este puerto son: si se tienen varias bases de datos MySQL sin riesgo a que vaya...

mysql-y-mariadb

BLOQUEO DE TABLAS EN MYSQL

MySQL permite bloquear tablas para que diversas queries puedan ejecutarse al mismo tiempo sin distorsionar sus resultados. Este bloqueo puede ser de escritura o de lectura. Después de realizar ...

mysql-y-mariadb

PRIMARY KEY VS UNIQUE EN MYSQL

En las tablas MyISAM no hay diferencia entre las dos opciones. La única diferencia es que los índices de clave primaria no pueden contener valores NULL. De esa manera, un índice PRIMARY es ...

mysql-y-mariadb

TABLAS TEMPORALES EN MYSQL

MySQL permite la creación de tablas temporales que permiten acceder a los datos de una manera más óptima ya que se crea una versión en memoria de un bloque de información almacenado en una ...

mysql-y-mariadb

CONEXIONES EXTERNAS A MYSQL

Por defecto MySQL no permite el acceso desde otro servidor, pero se puede cambiar dicha configuración para conectarse a una base de datos MySQL. Para permitir ésto MySQL hay que modificar el ...

mysql-y-mariadb

ROLLBACK TO SAVEPOINT EN MYSQL

En mi post sobre transacciones con varias queries en MySql no comenté la posibilidad de añadir puntos donde, si hay un problema, hacer un rollback a un punto determinado y no perder toda la ...

mysql-y-mariadb

CHARSET Y COLLATION EN MYSQL

Nunca me había planteado la diferencia entre charset y collation en MySQL y la verdad es que si que es algo que es importante.

mysql-y-mariadb

COMO ACTIVAR Y DESACTIVAR TRIGGERS EN MYSQL

Hace un tiempo escribí un post de como crear triggers en mysql pero no comenté que se podían activar y desactivar y puede resultar útil en determinados momentos.

mysql-y-mariadb

REPLICAS DE TABLAS EN MYSQL

Hace un tiempo escribí un post sobre los motores de almacenamiento en Mysql y hoy quiero commentar el motor de almacenamiento federated que permite tener replicas de tablas en mysql. Para saber ...

mysql-y-mariadb

GESTIÓN DE ERRORES EN MYSQL

La gestión de errores en mysql no es difícil en cierto modo. El único impedimento que veo es que hay que conocerse los código de errores para tartar el error que se quiere gestionar. La ...

mysql-y-mariadb

FIND IN SET EN MYSQL

Hoy he aprendido una funcionalidad nueva en MySql que es la función FIND_IN_SET y se usa en campos en los que sus elementos están separados por comas. Por ejemplo en la base de datos de mi blog...

mysql-y-mariadb

BLIND INJECTION EN MYSQL

Hace un tiempo hablé de la inyección de sql y el otro día aprendí lo que era la blind injection o la inyección ciega. La blind injection consiste en utilizar la inyección SQL y se evidencia...

mysql-y-mariadb

JOINS EN MYSQL

Los join se usan para recuperar datos de varias tablas al mismo tiempo y las tablas tienen que estar relacionadas de algún modo, normalmente mediante un id. En Mysql, como en la mayoría de las ...

mysql-y-mariadb

FRAGMENTACIÓN DE TABLAS EN MYSQL

Una manera de optimizar mysql es usar la fragmentación de tablas en MySQL que consiste eb reducir la cantidad de lecturas físicas a la base de datos en la lectura de datos de base de datos. ...

mysql-y-mariadb

FRAGMENTACIÓN HORIZONTAL EN MYSQL

Hace poco hablé sobre las fragmentación de tablas en MySQL y en este post quiero hablar de la fragmentación horizontal en mysql ya que es útil si se van a manejar grandes volúmenes de ...

mysql-y-mariadb

TIPO DE DATO ENUM EN MYSQL

El tipo de dato enum en mysql representa una enumeración. Puede tener un máximo de 65535 valores distintos y es una cadena cuyo valor se elige de una lista enumerada de valores permitidos que ...

mysql-y-mariadb

MODIFICADOR ROLLUP DE MYSQL

Mcuhas veces se realizan consultas MySQL para mostrar totales, por ejemplo, totales por categoría y es fácil hacerlo usando el agregador count de MySQL por ejemplo con mi blog: SELECT ...

mysql-y-mariadb

REEMPLAZAR REGISTROS EN MYSQL

Existe una sentencia, que es una alternativa al INSERT INTO, en la que se diferencia en que si existe algún registro en la base de datos con el mismo valor para una clave primaria o única, se ...

mysql-y-mariadb

TRABAJAR CON JSON EN MYSQL

Hace poco descubrí que se pueden devolver las consultas MySQL en json y la verdad es que es bastante sencillo. Hay que usar la función JSON_OBJECT. Voy a poner varios ejemplos para entenderlo ...

mysql-y-mariadb

TIPO DE DATO SET EN MYSQL

El tipo de dato set en mysql representa un conjunto de cadenas. Puede tener un máximo de 64 valores distintos y es una cadena cuyo valor se elige de una lista enumerada de valores permitidos que...

mysql-y-mariadb

COMO CREAR USUARIOS EN MYSQL

Siempre que se instala una base de datos MySQL siempre viene creada con un usuario root y sin ninguna contraseña pero hay veces que es necesario crear diferentes usuarios con diferentes ...

mysql-y-mariadb

VER PRIVILEGIOS DE LOS USUARIOS

Hace poco escribí un post de como crear usuarios en mysql y como otorgarles permisos. Hoy voy a comentar como ver privilegios de los usuarios.

mysql-y-mariadb

COMO MOSTRAR LOS PROCESOS EN EJECUCIÓN EN MYSQL

Para mostrar los procesos en ejecución en mysql y así saber que procesos se están ejecutando y que usuario lo está ejecutando hay que hacer es lanzar el comando show processlist; donde nos ...

mysql-y-mariadb

GESTIONAR CONCURRENCIAS EN MYSQL

Hay en ocasiones que en varios proyectos se necesitan hacer varias inserciones y actualizaciones en la base de datos en bloque y evitar que si hay dos, o más, solicitudes de dichas ...

mysql-y-mariadb

MYISAM VS INNODB

A la hora de diseñar una base de datos hay que tener en cuenta, entre otras muchas cosas, el número de consultas que se van a realizar y el número de datos que se van a modificar / insertar. ...

mysql-y-mariadb

FORMATO FECHA EN MYSQL

En los diferentes proyectos que he trabajado cuando se ha recuperado una fecha de mysql muchas veces se ha recuperado la fecha con la hora en formato diferente a dd/mm/aaaa y luego se procesaba ...