← Úroveň 4 – Datař

Lekce 4 z 6 ⏱ 45 minut Prémiové

SQLite – databáze v jednom souboru

Nainstaluješ SQLite do Node.js a uložíš první řádek do tabulky.

Co je SQLite

SQLite je databáze uložená v jednom souboru (např. web.db). Nemusíš instalovat žádný velký server – ideální pro učení i menší projekty. Data v ní přežijí restart Node.js.

V Node.js použijeme balíček better-sqlite3:

cd muj-server
npm install better-sqlite3

Ukaž mi to: tabulka a první záznam

V server.js (nebo novém databaze.js, který importuješ):

const Database = require("better-sqlite3");
const db = new Database("web.db");

// Vytvoř tabulku, pokud ještě neexistuje
db.exec(`
  CREATE TABLE IF NOT EXISTS vzkazy (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    jmeno TEXT NOT NULL,
    text TEXT NOT NULL,
    vytvoreno TEXT DEFAULT CURRENT_TIMESTAMP
  )
`);

// Vlož jeden řádek
const vloz = db.prepare("INSERT INTO vzkazy (jmeno, text) VALUES (?, ?)");
vloz.run("Martin", "První vzkaz v databázi! 🎉");

// Přečti všechny
const vse = db.prepare("SELECT * FROM vzkazy").all();
console.log(vse);

Spusť node server.js (nebo krátký testovací skript). V konzoli uvidíš pole objektů. Ve složce projektu vznikne soubor web.db – to je celá databáze.

💡

SQL v kostce: CREATE TABLE = nová tabulka (jako list v Excelu). INSERT = přidat řádek. SELECT = přečíst. Otazníky ? v prepare chrání před SQL injection – nikdy nevkládej uživatelský text přímo do řetězce dotazu!

Teď ty 💪

  1. Nainstaluj better-sqlite3 ve složce serveru.
  2. Vytvoř tabulku vzkazy podle vzoru (sloupce: id, jmeno, text, vytvoreno).
  3. Vlož 3 testovací vzkazy přes INSERT.
  4. Vypni skript, spusť znovu a znovu SELECT – data pořád jsou?
  5. Přidej web.db do .gitignore (na produkci má každý server vlastní databázi; někdy se exportuje zvlášť).

Kontrola: Soubor web.db existuje, po restartu data zůstávají. V příští lekci napojíme na něj celou návštěvní knihu přes API.

Co si z téhle lekce odnést