Login Logout

Howto SQLite

SQLite est un moteur de base de données dont le stockage se fait dans un simple fichier. Cela permet une utilisation simple (en ligne de commande, PHP, C, Ruby, etc.) et légère (il n’y a pas de démon). SQLite est utilisé dans des applications web légères et des logiciels connus comme Firefox.

SQLite utilise le langage de requêtes SQL et implémente la plupart de la spécification SQL-92. De nombreuses fonctionnalités sont donc compatibles avec MySQL et PostgreSQL mais des différences significatives existent. La documentation propose une aide à décision d’utiliser ou non SQLite.

Installation

# apt install sqlite3

$ sqlite3 --version
3.16.2 2017-01-06 16:32:41 a65a62893ca8319e89e48b8a38cf8a59c69a8209

Utilisation

Créer un fichier SQLite :

$ sqlite3 foo.db
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.
sqlite> .tables
sqlite> .exit

$ file foo.db
foo.db: empty

Créer une table :

sqlite> create table foo (i int);

sqlite> .tables
foo

sqlite> .schema foo
CREATE TABLE foo (i int);

Actions sur une table :

sqlite> INSERT INTO foo VALUES (42);
sqlite> SELECT * FROM foo;
42 
sqlite> UPDATE foo SET i=43 WHERE i=42;
sqlite> DELETE FROM foo WHERE i=43;
sqlite> DROP TABLE foo;

PHP et SQLite

Assurez vous d’avoir l’extension sqlite3 installée et active. Sur un système Debian apt install php-sqlite3 récupérera l’extension si elle n’est pas déjà présente.

$db = new SQLite3('foo.db');

$db->exec('CREATE TABLE foo (i int)');
$db->exec('INSERT INTO foo VALUES (42)');
$result = $db->query('select * from foo');

Il est aussi possible de manipuler une base SQLite avec PDO

try{    
    $pdo = new PDO('sqlite:foo.db');
} catch (PDOException $e){
     exit('PDO Error');
}