Sé que org-mode vale para mucho más, pero es tan grande su utilidad, que hasta para esto nos puede servir, y nos permitirá hacer cosas muy chulas.
Aunque no es tan flexible como tener una instancia del comando mysql abierto, la potencia que nos ofrecerá para tratar la salida es grandísima.
Sólo tenemos que tener org-mode instalado, y org-babel configurado. Para configurar org-mode y org-babel, debemos introducir en nuestro $HOME/.emacs lo siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | (require 'org-install) (org-babel-do-load-languages 'org-babel-load-languages '((R . t) (ditaa . t) (dot . t) (emacs-lisp . t) (gnuplot . t) (haskell . nil) (latex . t) (ledger . t) (ocaml . nil) (octave . t) (python . t) (ruby . t) (screen . nil) (sh . t) (sql . t) (sqlite . t))) |
org-babel, prácticamente, nos permitirá evaluar código fuente de varios lenguajes interpretados, para introducirlo en documentos que podemos crear con org-mode y exportarlos en múltiples formatos. Tiene una documentación muy extensa y es un software muy flexible además de un imprescindible de EMACS.
Lo que vamos a hacer hoy es evaluar un pequeño código mysql, en concreto, un SELECT, cuya respuesta será una tabla. Para ello, algo que podemos introducir en una plantilla es lo siguiente:
1 2 | #+begin_src sql :engine mysql :cmdline --socket=/tmp/mysql_sandbox5166.sock -uroot -ppassword #+end_src |
Aquí especificáis en :engine mysql (este modo soporta otros motores también), y en :cmdline todo lo necesario para conectar, usuario, password, y por ejemplo, si utilizáis mysql sandbox, el socket.
Las líneas #+begin_src y #+end_src son las que le dicen a org-babel que tiene que interpretar lo que hay dentro. Entonces, escribimos nuestra consulta, en este caso, es la base de datos de Krecipes:
1 2 3 | #+begin_src sql :engine mysql :cmdline --socket=/tmp/mysql_sandbox5166.sock -uroot -ppassword SELECT * FROM Krecipes.recipes #+end_src |
Ahora, situando el cursor dentro de la consulta, pulsamos C-c C-c y nos preguntará si queremos ejecutar este bloque, acto seguido, aparecerá en #+RESULTS: la tabla que ha devuelto MySQL. Pero ahí no acaba todo.
A partir de aquí podemos utilizar todas las comodidades que nos ofrece org-mode con las tablas como mover columnas, mover filas, eliminar filas y columnas, insertar información, insertar separadores, aplicar fórmulas, y además, podemos exportar las tablas como CSV (bueno, esto no tiene ningún mérito), ODT, PDF, LaTeX, HTML, y unos cuantos formatos más. Sólo tenemos que hacer M-x org-table- [TAB] para ver todas las posibilidades que tenemos o org-export [TAB]
Consejo
Podemos evaluar la expresión:
(setq org-confirm-babel-evaluate nil)
para evitar que se nos pregunte cada vez que vamos a evaluar un código, pero hemos de usarla con cuidado, cuando confiemos 100% en lo que escribimos.
Pingback: Bitacoras.com /
This forces players to use critical thinking, logical thinking, speculation, and to expand their vocabulary. These mental challenges help players improve their improvisation, perception, and problem-solving abilities. Thanks
Hello, I read this nice article. I think You put a best effort to write this perfect article. I appreciate your work. thank you so much.
This is a great inspiring article. I am pretty much pleased with your good work. You put really very helpful information.
Where you can never feel deprived of the pleasure you’re after. Our ultimate Newly Married Call Girls In Goa are transform into sex goddesses when it comes to making wild and passionate love to their discerning clients. Those golden moments which you will be sharing with Goa escort girls will be etched in your mind for good