@carloscapote.com - Probablemente, el sitio web más aburrido de todo Internet

Cómo exportar fácilmente todas vistas de una base de datos MySQL

15 de August de 2012 · Sin comentarios

Hace unos días tuve que exportar vistas de una base de datos MySQL y me vi con un pequeño problema. La herramienta que más utilizo para exportar e importar datos o estructuras en MySQL es phpMyAdmin. El problema lo encuentro cuando lo que se quiere exportar son las definiciones de las vistas de una base de datos, es decir, quieres un fichero que contenga algo como:

CREATE VIEW v AS
    SELECT
        qty,
        price,
        qty*price AS value
    FROM t;

Para solucionar esto, puede ser de bastante ayuda saber que en la tabla views de la base de datos information_schema están todas las vistas de tu servidor, ¡con sus respectivas sentencias!

SELECT
    concat('CREATE VIEW ',
        table_name,
        ' AS ',
        view_definition,
        ';') AS createview
FROM information_schema.views
WHERE table_schema = '{database}';

Cambiando {database} por el nombre de la base de datos de la que quieres exportar las vistas. Como uso mucho MySQL sobre Linux y normalmente tengo acceso por línea de comandos a los servidores, he hecho un pequeñín script en bash que me pide el nombre de la base de datos que quiero exportar, los datos de acceso (usuario y contraseña) y genera un fichero .sql con las definiciones de todas las vistas de esa base de datos.

El script está disponible en GitHub con el nombre de mysql-bash-export-views.

Enlace corto:http://capo.gl/jy | Categoría: Informática | Tags: · ,

0 respuestas ↓

  • Si crees que tienes algo interesante que aportar, sírvete. En caso contrario, di alguna tontería.

Dejar un comentario

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.