Pagine

lunedì 14 febbraio 2011

SQLite da riga di comando (1)

La seconda parte qui: SQLite da riga di comando (2).

Premessa

Come visto in unhttp://www.blogger.com/img/blank.gif precedente articolo, sqlite è un piccolo sistema di database embedded che è stato scelto da molti applicativi per le sue caratteristiche di leggerezza e duttilità come sistema di archiviazione delle informazioni. Giusto per fare qualche nome cito il browser Firefox e il visualizzatore di immagini F-Spot .
SQLite ha diverse interfacce grafiche e via web (scritte in php) per la gestione ma, in questo articolo, vediamo come utilizzarlo da riga di comando.
Personalmente trovo questa modalità estremamente comoda perchè permette di fare degli script in maniera estremamente rapida.
Dopo averlo scaricato dalla pagina del download ed averlo scompattato è pronto per essere utilizzato.
Su windows si può entrare nel prompt del MSDOS (Start->Esegui... digitare cmd e premere invio) mentre su Linux si entra in una shell come gterm o xterm.
A questo punto dobbiamo entrare nella cartella nella quale si è scompattato sqlite e digitando sqlite3 seguito da un invio si avvia la shell interattiva del programma come si può vedere nella immagine sopra.
Vediamo alcuni comandi...

Comandi per iniziare sulla shell interattiva

I comandi che iniziano con il punto sono propri di sqlite e non del linguaggio SQL. Tramite questi comandi si può dialogare con il sistema. Ad esempio digitando:
.help

si entra nell'help del programma e si vede la lista dei comandi come nella schermata riportata sopra.

Supponiamo di voler fare una piccola rubrica personale.
A questo proposito apriamo Excel o OpenOffice Calc e sulla cella A1 del Foglio1 scriviamo "Cognome", nella cella B1 "Nome", nella cella C1 "Telefono".
Nelle celle sottostanti si scrivano una serie di cognomi, nomi, telefoni.
A questo punto si salvi il file in formato CSV (è necessario, nella finestra del salvataggio file scegliere come tipo di file il formato CSV) nella medesima cartella nella quale c'è l'eseguibile di sqlite.
La nostra base dati sarà pronta per essere importata.

Per poter interagire con il programma è bene creare, prima di tutto una tabella.
Sulla shell, dunque, si digiti il comando:
CREATE TABLE Nominativi (IDNominativo INTEGER PRIMARY KEY, Cognome VARCHAR(30), Nome VARCHAR(30), Telefono VARCHAR(15));
In questo modo abbiamo creato la tabella che conterrà i nostri dati.
Non ci resta che inserire alcuni dati con l'apposita istruzione:
INSERT INTO Nominativi (Cognome, Nome, Telefono) VALUES ('Rossi','Luca','333444555');
Ovviamente le istruzioni di INSERT possono essere molte e consecutive. Se poi vogliamo importare la tabella creata precedentemente con Excel o Calc possiamo fare come segue:
  • Prima di tutto si imposta il separatore dei campi nel file CSV. Personalmente apprezzo maggiormente il ";" che viene scelto di default anche da Excel e OpenOffice. Al contrario gli americani preferiscono la virgola. Ad ogni buon conto meglio definire prima il simbolo di separazione
  • Importare il file csv
.separator ";"
.import file.csv tabella

L'effetto di questa operazione sarà l'aggiunta dei nominativi precedentemente inseriti e salvati in CSV nella tabella.

Per salvare il proprio lavoro:
.backup database.sqlite

NB: questa piccola guida non vuole essere una completa guida esplicativa dei comandi.
Seguirà comunque a breve, un ulteriore approfondimento a questo argomento

La seconda parte qui: SQLite da riga di comando (2).