Lo primero que hago es crear un fichero con el nombre que quiero ─en el ejemplo lo llamaré base-de-datos , por ejemplo─ y le añado una extensión sql . Al abrir este fichero, Emacs entrará en modo SQL , y por defecto se colocará en modo ANSI .

Como se puede ver en la imagen, la barra de estado marca el modo SQL[ANSI] , aunque el archivo aún está vacío. Lo primero es decirle al editor que vamos a utilizar, concretamente SQLite . Para ello utilizo el comando M-x sql-set-product RET sqlite RET .

Estando en el buffer del fichero sql , que permanece vacío, vamos a levantar también un entorno interactivo para SQLite dentro de Emacs: así no tenemos que estar entrando y saliendo del editor, sino sólo cambiando de buffer. Para lanzarlo utilizo la combinación de teclas C-c TAB también se podría llamar mediante M-x sql-product-interactive . Al lanzarlo nos pide un nombre para la base de datos, en mi ejemplo base-de-datos.db y nos mostrará el típico prompt de SQLite .

Ahora podemos dar el siguiente paso en cualquier de los dos buffers pero para mí resulta mucho más sencillo hacerlo directamente en el interactivo de SQLite . Vamos a crear una tabla dentro de nuestra base de datos.

CREATE TABLE Gente ( id integer primary key autoincrement, Nombre text, Telefono text);

Y para que no esté vacía la base de datos, voy a añadir un par de registros a esa tabla:

insert into Gente(Nombre, Telefono) Values('Pepe', '123456789'); insert into Gente(Nombre, Telefono) Values('Juan', '987654321');

Bien, vamos a hacer una consulta y como me gusta ver las cosas ordenadas, también añado los comandos .mode column y .headers on para que se muestren las consultas, como por ejemplo:

SELECT * FROM Gente;

id Nombre Telefono ---------- ---------- ---------- 1 Pepe 123456789 2 Juan 987654321