← Poziom 4 – Data pro

Lekcja 4 z 6 ⏱ 45 minut Premium

SQLite – baza danych w jednym pliku

Zainstaluj SQLite w Node.js i zapisz pierwszy wiersz w tabeli.

Czym jest SQLite

SQLite to baza danych w jednym pliku (np. web.db). Nie trzeba instalować dużego serwera – idealna do nauki i małych projektów. Dane przetrwają restart Node.js.

W Node.js użyjemy pakietu better-sqlite3:

cd my-server
npm install better-sqlite3

Pokażę ci: tabela i pierwszy rekord

W server.js (albo nowym database.js, który importujesz):

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

Uruchom node server.js (albo krótki skrypt testowy). W konsoli zobaczysz tablicę obiektów. W folderze projektu pojawi się web.db – to cała baza.

💡

SQL w skrócie: CREATE TABLE = nowa tabela (jak arkusz w Excelu). INSERT = dodaj wiersz. SELECT = czytaj dane. Znaki ? w prepare chronią przed SQL injection – nigdy nie wklejaj tekstu użytkownika prosto do zapytania!

Teraz ty 💪

  1. Zainstaluj better-sqlite3 w folderze serwera.
  2. Utwórz tabelę vzkazy według przykładu (kolumny: id, jmeno, text, vytvoreno).
  3. Wstaw 3 testowe wiadomości przez INSERT.
  4. Zatrzymaj skrypt, uruchom ponownie i zrób SELECT – czy dane nadal są?
  5. Dodaj web.db do .gitignore (w produkcji każdy serwer ma własną bazę; czasem eksportuje się ją osobno).

Sprawdź się: Plik web.db istnieje i dane zostają po restarcie. W następnej lekcji podłączymy całą księgę gości przez API.

Co wyniesiesz z tej lekcji