Inicio > MYSQL

MYSQL


En esta sección hay varios posts sobre bases de datos MySQL. Llevo varios años usando bases de datos y aunque no soy dba quiero compartir lo que he ido aprendiendo.

FUNCIÓN RANK DE MYSQL

MYSQL (48 visitas)

 

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 ...

COMO SABER EN QUE TABLA ESTÁ UN CAMPO EN MYSQL

MYSQL (6221 visitas)

 

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 DE PERCONA

MYSQL (225 visitas)

 

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...

COPIAS DE SEGURIDAD

MYSQL (1113 visitas)

 

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 ...

CREAR CURSORES EN MYSQL

MYSQL (3890 visitas)

 

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 ...

RECUPERAR VALORES CAMPO ENUM EN MYSQL

MYSQL (702 visitas)

 

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...

TRIGGERS

MYSQL (992 visitas)

 

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.

PROCEDIMIENTOS Y FUNCIONES ALMACENADOS

MYSQL (15004 visitas)

 

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 ...

VISTAS

MYSQL (1040 visitas)

 

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 ...

CACHÉ DE CONSULTAS

MYSQL (1458 visitas)

 

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....

MOTORES DE ALMACENAMIENTO

MYSQL (1479 visitas)

 

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 ...

TIPO DE CAMPOS ÓPTIMOS

MYSQL (986 visitas)

 

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 ...

BÚSQUEDA POR TEXTO

MYSQL (1068 visitas)

 

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 ...

EXPLAIN

MYSQL (1090 visitas)

 

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 ...

SLOW QUERIES

MYSQL (1254 visitas)

 

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 ...

TRANSACCIONES CON VARIAS QUERIES

MYSQL (1201 visitas)

 

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 ...

INFORMATION_SCHEMA DE MYSQL

MYSQL (1101 visitas)

 

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...

TOO MANY CONECTIONS

MYSQL (930 visitas)

 

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...

PROCEDURE ANALYSE

MYSQL (1729 visitas)

 

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

PRIORIZANDO QUERIES

MYSQL (1135 visitas)

 

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 ...

ÍNDICES

MYSQL (1095 visitas)

 

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...

VARIABLES MYSQL

MYSQL (1454 visitas)

 

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 ACID

MYSQL (1352 visitas)

 

El modelo ACID es un conjunto de principios de diseño de base de datos que enfatiza aspectos de fiabilidad que son importantes para datos de negocio. MySQL incluye componentes como el motor de ...

OPTIMIZAR INNODB

MYSQL (1461 visitas)

 

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 ...

OBTENER IP Y PUERTO DE MYSQL

MYSQL (1341 visitas)

 

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')...

OPTIMIZANDO QUERIES

MYSQL (1485 visitas)

 

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 ...

USING EN JOINS

MYSQL (1287 visitas)

 

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 ...

COPIAS DE SEGURIDAD DE BASE DE DATOS

MYSQL (1175 visitas)

 

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 ...

BUSCAR REGISTROS DUPLICADOS EN UNA TABLA

MYSQL (1058 visitas)

 

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(*) ...

EVENTOS

MYSQL (1093 visitas)

 

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 ...

MYSQLCHECK

MYSQL (1258 visitas)

 

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...

MODIFICAR CLAVE USUARIO ROOT

MYSQL (1160 visitas)

 

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 ...

TAMAÑO BASE DE DATOS

MYSQL (958 visitas)

 

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

UNSIGNED

MYSQL (970 visitas)

 

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 ...

INSERTAR DUPLICADOS

MYSQL (1191 visitas)

 

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...

MEJORAR LA PAGINACIÓN CON MYSQL

MYSQL (980 visitas)

 

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 ...

CAMBIAR PUERTO

MYSQL (1080 visitas)

 

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...

BLOQUEO DE TABLAS

MYSQL (3846 visitas)

 

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 ...

PRIMARY KEY VS UNIQUE

MYSQL (1001 visitas)

 

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 ...

TABLAS TEMPORALES

MYSQL (954 visitas)

 

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 ...

CONEXIONES EXTERNAS

MYSQL (1188 visitas)

 

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 ...

ROLLBACK TO SAVEPOINT

MYSQL (1329 visitas)

 

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 ...

CHARSET Y COLLATION

MYSQL (1081 visitas)

 

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. charset:Define el juego de caracteres con el que MySQL guardará...

ACTIVAR Y DESACTIVAR TRIGGERS EN MYSQL

MYSQL (5303 visitas)

 

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. Para activar un trigger en...

REPLICAS DE TABLAS EN MYSQL

MYSQL (1599 visitas)

 

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 ...

GESTIÓN DE ERRORES EN MYSQL

MYSQL (907 visitas)

 

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 ...

FIND IN SET EN MYSQL

MYSQL (1161 visitas)

 

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...

BLIND INJECTION

MYSQL (1018 visitas)

 

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...

JOINS EN MYSQL

MYSQL (2361 visitas)

 

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 ...

FRAGMENTACIÓN DE TABLAS EN MYSQL

MYSQL (4163 visitas)

 

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. ...

FRAGMENTACIÓN HORIZONTAL EN MYSQL

MYSQL (9376 visitas)

 

Hace poco hablé sobre las fragementacion 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 ...

TIPO DE DATO ENUM EN MYSQL

MYSQL (14247 visitas)

 

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 ...

MODIFICADOR ROLLUP DE MYSQL

MYSQL (935 visitas)

 

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 ...

REEMPLAZAR REGISTROS EN MYSQL

MYSQL (626 visitas)

 

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 ...

TRABAJAR CON JSON EN MYSQL

MYSQL (743 visitas)

 

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 ...

TIPO DE DATO SET EN MYSQL

MYSQL (3270 visitas)

 

El tipo de dato set en mysql representa un conjunto ed 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...

SENTENCIAS PREPARADAS EN MYSQL

MYSQL (1162 visitas)

 

Hace eun tiempo hablé en este blog de programación sobre blind injection y sobre la inyección de sql y en este post quiero hablar de como funcionan las sentencias preparadas en mysql que es ...

CREAR USUARIOS EN MYSQL

MYSQL (2428 visitas)

 

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 ...

VER PRIVILEGIOS DE LOS USUARIOS

MYSQL (613 visitas)

 

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: SHOW GRANTS;: Muestra los privilegios de todos ...

PROCESOS EN EJECUCIÓN EN MYSQL

MYSQL (1018 visitas)

 

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

GESTIONAR CONCURRENCIAS EN MYSQL

MYSQL (610 visitas)

 

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, solicititudes de dichas ...

MYISAM VS INNODB

MYSQL (965 visitas)

 

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. ...

FORMATO FECHA

MYSQL (972 visitas)

 

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 ...