Showing entries 11 to 18
« Anterior 10 Nuevas entradas
Displaying posts with tag: bases de datos (reset)
Common-schema: Claves redudantes en MySQL-MariaDB

Estudiando más funcionalidades de common-schema, ejecuto una consulta sobre claves redundantes: SELECT * FROM common_schema.redundant_keys Y me aparecen una serie de resultados, donde me informan de que he generado varias claves que, literalmente, “sobran“. El resultado de la consulta contiene mucha información interesante! Lo siguiente que piensas es: “Bueno, si sobran, hay que quitarlas“. Pero, …

Continuar leyendo »

Esta entrada Common-schema: Claves redudantes en MySQL-MariaDB es contenido original de Manejando datos - Blog de bases de datos y programación. This entrance …

[Lea más]
Cuando la comunidad Open Source da la espalda a un buen proyecto

Esta entrada es un poco reivindicativa de cómo las empresas toman decisiones empresariales de adquisición de software libre, que acaban siendo “despreciadas” por el público a pesar del éxito. Concretamente, quiero hablar del vuelco que se está produciendo en Internet y en muchas empresas respecto a las bases de datos MySQL, que empieza a quedarse estancada en favor de MariaDB.

El éxito de MySQL

MySQL es un proyecto que nació libre, creado por la comunidad y desarrollado por la comunidad para Internet. Poco a poco fueron haciendose las cosas bien, y prácticamente en un alto porcentaje de servidores de Internet es la base de datos de referencia. Proyectos muy importantes han apostado por ella, como WordPress (el actual gran triunfador en …

[Lea más]
De que va manejando datos

Buenas a todos.

En este blog que ahora comienzo, pretendo contar lo poco que sé sobre varias tecnologías, y que van desde manejo de bases de datos, solución a problemas de programación, sugerencias de programas, etc, etc ….

En mi desempeño no tengo preferencia por software tipo Desktop o Web, así que trataremos de hablar de ambos, pero casi siempre atacando a bases de datos.

A nivel de software de escritorio, mi lenguaje favorito es VB6, aunque también empiezo a defenderme bastante bien con C#, y ahora estoy iniciandome en Python (bueno, me han forzado las circunstancias!). También veremos algunos ejemplos de VBA en Excel, …

Respecto a programación Web, le lenguaje en el que he desarrollado ha sido ASP clásico, que aunque esté teóricamente obsoleto, yo creo que está …

[Lea más]
Origen y futuro de Mysql

Un poco de historia

La empresa MySQL AB (originalmente TCX DataKonsultAB) nace en 1995, en Suecia, fundada por David Axmark, Allan Larsson, y Michael "Monty" Widenius. Monty llevaba varios años desarrollando un sistema había que ofrecía una forma optimizada y flexible para acceder a bases de datos SQL utilizando el método ISAM, ya que ninguna de las interfaces existentes le resultaba adecuada, así surgió una nueva API de acceso a SQL que podía y puede ser accedida y modificada por terceras partes, esta api se llamó MySQL.

El prefijo My tiene dos posibles orígenes, uno es corporativo, ya que llevaban tiempo llamando a todas sus aplicaciones …

[Lea más]
Equivalente del ROWNUM de Oracle en MySQL

La pseudocolumna ROWNUM sirve, en Oracle, fundamentalmente para dos cosas:

  • Numerar por órden de visualización los registros recuperados por una consulta.
  • Limitar el número de registros devueltos por una consulta

Para realizar lo segundo en MySQL, la cláusula LIMIT es mucho más simple y efectiva que el método para limitar con ROWNUM en Oracle, sin embargo lo primero, es decir, mostrar un contador de registros en MySQL no tiene un equivalente directo, aún así, se puede emular de la siguiente forma:

Pongamos la siguiente consulta, que devuelve los registros de una tabla de ejemplo:

mysql> SELECT * FROM frutas;
+-----------+----------+
| nombre | color |
+-----------+----------+
| fresa | rojo |
| platano | amarillo |
| manzana | verde |
| uva | verde |
| pera | verde |
| …
[Lea más]
Solución al error 1153 Got a packet bigger than 'max_allowed_packet' bytes

En MySQL, cuando intentamos realizar una carga de datos sobre una instancia ya existente, existe la posibilidad de obtener un error parecido a este:

ERROR 1153 (08S01) at line 625: Got a packet bigger than 'max_allowed_packet' bytes

Esto pasa porque el cliente desde que estamos cargando los datos envía un paquete mayor de lo que el servidor está configurado para soportar, la instalación por defecto configura esta variable de sistema a 1Mb.
Es necesario que tanto el cliente de mysql como el servidor (mysqld) estén configurados para aceptar paquetes de datos mayores.

Configurar el servidor

Debemos modificar el fichero de configuración de MySQL, en el caso de sistemas Windows, el fichero my.ini de la carpeta donde hayamos instalado el servidor. Para sistemas *nix, el fichero /etc/my.cnf.
En ambos casos deberemos añadir/modificar el parámetro max_allowed_packet

[Lea más]
Mysql - Cómo averiguar el último registro insertado en una tabla

Hay veces que realizamos operaciones de inserción que involucran valores autonuméricos y necesitamos averiguar el idetificador del último registro que hemos añadido para utilizarlo en verificaciones, o incluso en otras operaciones con la base de datos, como insertar registros hijos.

La función a utilizar en este caso sería last_insert_id(), a continuación muestro un ejemplo de su funcionamiento

He establecido un entorno de pruebas muy sencillo con un pequeño esquema que representa un sistema de autobuses y sus viajeros.

La tabla autobuses registraría las diferentes líneas entre dos ciudades. Para identificar los autobuses se utiliza una columna de tipo AUTO_INCREMENT que aumentará de valor automáticamente sin que tengamos que especificarla. Al crear una columna de este tipo, es obligatorio que …

[Lea más]
Mysql - Cómo averiguar el último registro insertado en una tabla

Hay veces que realizamos operaciones de inserción que involucran valores autonuméricos y necesitamos averiguar el idetificador del último registro que hemos añadido para utilizarlo en verificaciones, o incluso en otras operaciones con la base de datos, como insertar registros hijos.

La función a utilizar en este caso sería last_insert_id(), a continuación muestro un ejemplo de su funcionamiento

He establecido un entorno de pruebas muy sencillo con un pequeño esquema que representa un sistema de autobuses y sus viajeros.

La tabla autobuses registraría las diferentes líneas entre dos ciudades. Para identificar los autobuses se utiliza una columna de tipo AUTO_INCREMENT que aumentará de valor automáticamente sin que tengamos que especificarla. Al crear una columna de este tipo, es obligatorio que …

[Lea más]
Showing entries 11 to 18
« Anterior 10 Nuevas entradas