← Úroveň 4 – Dátar

Lekcia 4 z 6 ⏱ 45 minút Prémiové

SQLite – databáza v jednom súbore

Nainštaluj SQLite v Node.js a ulož svoj prvý riadok do tabuľky.

Čo je SQLite

SQLite je databáza uložená v jednom súbore (napr. web.db). Nemusíš inštalovať veľký server – ideálne na učenie a menšie projekty. Dáta v nej prežijú reštart Node.js.

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

cd my-server
npm install better-sqlite3

Ukážem ti: tabuľka a prvý záznam

V server.js (alebo novom database.js, ktorý importuješ):

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

// Create the table if it doesn't exist yet
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
  )
`);

// Insert one row
const vloz = db.prepare("INSERT INTO vzkazy (jmeno, text) VALUES (?, ?)");
vloz.run("Martin", "First message in the database! 🎉");

// Read all rows
const vse = db.prepare("SELECT * FROM vzkazy").all();
console.log(vse);

Spusti node server.js (alebo krátky testovací skript). V konzole uvidíš pole objektov. V priečinku projektu sa objaví súbor web.db – to je celá databáza.

💡

SQL v skratke: CREATE TABLE = nová tabuľka (ako hárok v Exceli). INSERT = pridaj riadok. SELECT = načítaj dáta. Otázniky ? v prepare chránia pred SQL injection – nikdy nevkladaj text od používateľa priamo do reťazca dotazu!

Teraz ty 💪

  1. Nainštaluj better-sqlite3 v priečinku servera.
  2. Vytvor tabuľku vzkazy podľa príkladu (stĺpce: id, jmeno, text, vytvoreno).
  3. Vlož 3 testovacie správy cez INSERT.
  4. Zastav skript, spusti ho znova a znova SELECT – sú dáta stále tam?
  5. Pridaj web.db do .gitignore (v produkcii má každý server vlastnú databázu; niekedy sa exportuje zvlášť).

Skontroluj sa: Súbor web.db existuje a dáta zostanú aj po reštarte. V ďalšej lekcii celú knihu návštev prepojíme cez API.

Čo si z tejto lekcie odnášaš