← Stopnja 4 – Data pro

Lekcija 4 od 6 ⏱ 45 minut Premium

SQLite – baza podatkov v eni datoteki

Namesti SQLite v Node.js in shrani prvo vrstico v tabelo.

Kaj je SQLite

SQLite je baza podatkov v eni datoteki (npr. web.db). Ni treba nameščati velikega strežnika – idealno za učenje in manjše projekte. Podatki v njej preživijo ponovni zagon Node.js.

V Node.js uporabimo paket better-sqlite3:

cd my-server
npm install better-sqlite3

Pokažem ti: tabela in prvi zapis

V server.js (ali novi database.js, ki jo uvoziš):

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);

Zaženi node server.js (ali kratek testni skript). V konzoli vidiš polje objektov. V mapi projekta se pojavi datoteka web.db – to je cela baza.

💡

SQL na kratko: CREATE TABLE = nova tabela (kot list v Excelu). INSERT = dodaj vrstico. SELECT = preberi podatke. Vprašaji ? v prepare ščitijo pred SQL injection – uporabniškega besedila nikoli ne vstavi neposredno v poizvedbo!

Zdaj si na vrsti 💪

  1. V mapi strežnika namesti better-sqlite3.
  2. Po vzoru ustvari tabelo vzkazy (stolpci: id, jmeno, text, vytvoreno).
  3. Z INSERT vstavi 3 testna sporočila.
  4. Ustavi skript, ga znova zaženi in še enkrat SELECT – so podatki še vedno tam?
  5. Dodaj web.db v .gitignore (v produkciji ima vsak strežnik svojo bazo; včasih jo izvozijo ločeno).

Preveri se: Datoteka web.db obstaja in podatki ostanejo po ponovnem zagonu. V naslednji lekciji celotno knjigo obiskovalcev povežemo z njo prek API-ja.

Kaj si vzameš iz te lekcije