Aller au contenu

Aide-mémoire — Spécificités SQLite#

courant

Ce qui n'existe pas#

  • Pas de gestion des droits (GRANT/REVOKE), pas d'utilisateurs
  • Pas de type ENUM
  • Pas de procédures stockées
  • Pas de FULL OUTER JOIN / RIGHT JOIN avant la version 3.39 (2022)

Ce qui est spécifique#

Fonctionnalité Détail
Typage Dynamique — affinité de colonne, pas de typage strict (sauf tables STRICT, ≥ 3.37)
ROWID Clé primaire implicite (alias _rowid_, oid) sauf tables WITHOUT ROWID
AUTOINCREMENT Déconseillé sauf besoin strict (ralentit ; INTEGER PRIMARY KEY seul suffit en général)
PRAGMA Remplace beaucoup de commandes serveur (config, introspection)
Fichier unique Toute la base = 1 fichier .db
ATTACH DATABASE Fusionner plusieurs fichiers SQLite dans une session
Extensions JSON1, FTS5, R-Tree intégrées (selon compilation)
Tables STRICT CREATE TABLE t (...) STRICT; impose les types déclarés (≥ 3.37)

Fonctions système utiles#

SELECT sqlite_version();
PRAGMA compile_options;

Limites#

  • Taille max base : 281 To (théorique)
  • VARCHAR(n) : n ignoré (affinité TEXT quel que soit n)
  • Nombre de bases attachées : 10 par défaut (jusqu'à 125)