SQLite3
SQLite3 je výbornou volbou pro malé a střední projekty, které potřebují databázi. Jak vypadá základní zacházení s touto databází?
Základní přehled
SQLite3 je plnohodnotná databáze, která se použitím příliš neliší od MySQL či PostgreSQL. Často se ale podceňuje, ačkoliv nabízí plně podporované SQL dotazy, potřebu jediného souboru, velikost 1 GB dat pro jednu řádku i přes 100 TB pro jednu databázi. Ve zkratce je SQLite rychlá, spolehlivá a jednoduchá na použití.
Výhoda je i v univerzálnosti - podpora pro SQLite je vestavěná nejen v PHP, ale i v C, C++, Go, Javě, JavaScriptu, Pythonu, Ruby a dalších. Tuto databázi využívá například Android, v prohlížeče Chrome a Firefox nebo Apple Mail. Navíc je platformě agnostická - když data naplníš na iOS, na Windows je bez problémů zase přečteš.
Zajímavou vlastností je absence typů. V SQLite lze sloupečky natypovat, databázi v zásadě ale nevadí, když do INTEGER
vložíš text. Na toto chování pozor, většinou není od kodéra zamýšlené a může skrývat další bugy.
Celý zdrojový kód je k dispozici online a lze použít bez jakýkoliv dalších omezení.
První použití
Základní připojení databáze mohlo vypadat nějak takto:
<?php
$db = new SQLite3('databaseName.sqlite');
$results = $db->query('SELECT bar FROM foo');
while ($row = $results->fetchArray()) {
var_dump($row);
}
Použití s PDO
Verze připojení při použití PDO:
<?php
$db = new PDO('sqlite:databaseName.sqlite');
$results = $db->query('SELECT bar FROM foo');
foreach ($results as $row) {
var_dump($row);
}
Registrace do DI kontejneru
Jak vypadá zaregistrování databáze do DI:
<?php
$container['db'] = function ($c) {
$db = $c['settings']['db'];
$pdo = new PDO('sqlite:databaseName.sqlite');
return $pdo;
};
Tento příklad je převzaný pro framework Slim, který interně používá DI Pimple.
Odkazy
Nejlepší web pro SQLite je SQLite.org, který funguje i jako místo pro dokumentaci. Organizace W3 nabízí pro SQLite i tutoriál. Na xojo.com se dozvíš, proč na SQLite nedají dopustit. A internet je plný návodů a příkladů, neváhejte použít Google :)
Too Long, Didn’t Read?
SQLite3 je databázový systém, který se dá pohodlně použít pro malé projekty. V PHP má nativní podporu a jde používat jednoduše bez dalších PHP rozšíření.