SQLite
Petit mémo des commandes courantes pour gérer une base de données SQLite3
SQLite est un système de base de données léger basé sur un simple fichier de stockage avec l'extension .db
. Il n'y a pas de configuration particulière côté serveur. On a juste besoin d'un client (la commande sqlite
que nous allons installer, ou les wrapper fournis dans différents langages de programmation).
Installation de la commande sqlite
sous MacOS
avec homebrew
1brew install sqlite
Création d'une base à partir du fichier structure.sql
suivant :
1create table tbl1(one varchar(10), two smallint);
2insert into tbl1 values('hello!', 10);
3insert into tbl1 values('goodbye', 20);
puis exécutez
1$ sqlite3 test.db < structure.sql
2$ file test.db
3test.db: SQLite 3.x database, last written using SQLite version 3028000
Accès avec une app en node.js
via la dépendance sqlite3
:
1npm install sqlite3
Le code JavaScript d'exemple
1#!/usr/bin/env node
2const sqlite3 = require('sqlite3');
3
4let db = new sqlite3.Database('test.db', (err) => {
5 if (err) {
6 console.error(err.message);
7 }
8 console.log('Connecté');
9});
10
11db.all('SELECT * FROM tbl1', [], (err, rows) => {
12 if (err) {
13 throw err;
14 }
15 rows.forEach((row) => {
16 console.log(row.one,row.two);
17 });
18});
19db.close();
affichera
1Connecté
2hello! 10
3goodbye 20
le format .db
est stable et bien documenté, pour la v3, il serait donc transportable facilement. De plus il se gzip bien.
Usage du CLI
Pour n'exporter que la structure dans un fichier structure.sql
1echo ".schema" | sqlite3 test.db > structure.sql
Pour exporter la structure et les données dans un fichier structure-data.sql
1echo ".dump" | sqlite3 test.db > structure-data.sql