← Razina 4 – Data pro

Lekcija 4 od 6 ⏱ 45 minuta Premium

SQLite – baza podataka u jednoj datoteci

Instaliraj SQLite u Node.js-u i spremi svoj prvi redak u tablicu.

Što je SQLite

SQLite je baza podataka pohranjena u jednoj datoteci (npr. web.db). Ne treba instalirati veliki server – idealno za učenje i manje projekte. Podaci u njoj preživljavaju ponovno pokretanje Node.js-a.

U Node.js-u koristit ćemo paket better-sqlite3:

cd my-server
npm install better-sqlite3

Pokazat ću ti: tablica i prvi zapis

U server.js (ili novom database.js koji importiraš):

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

Pokreni node server.js (ili kratki test skript). U konzoli ćeš vidjeti niz objekata. U mapi projekta pojavljuje se datoteka web.db – to je cijela baza podataka.

💡

SQL ukratko: CREATE TABLE = nova tablica (kao list u Excelu). INSERT = dodaj redak. SELECT = čitaj podatke. Upitnici ? u prepare štite od SQL injectiona – nikad ne ubacuj korisnički tekst izravno u niz upita!

Sad si ti na redu 💪

  1. Instaliraj better-sqlite3 u mapi servera.
  2. Napravi tablicu vzkazy prema primjeru (stupci: id, jmeno, text, vytvoreno).
  3. Umetni 3 test poruke pomoću INSERT.
  4. Zaustavi skript, ponovo ga pokreni i još jednom SELECT – jesu li podaci još tu?
  5. Dodaj web.db u .gitignore (u produkciji svaki server ima vlastitu bazu; ponekad se izvozi zasebno).

Provjera: Datoteka web.db postoji i podaci ostaju nakon ponovnog pokretanja. U sljedećoj lekciji cijelu knjigu gostiju povezat ćemo s njom preko API-ja.

Što ćeš ponijeti iz ove lekcije