Hvad SQLite er
SQLite er en database gemt i én fil (f.eks. web.db). Du behøver ikke installere nogen stor server – ideelt til læring og mindre projekter. Data i den overlever en Node.js-genstart.
I Node.js bruger vi pakken better-sqlite3:
cd my-server
npm install better-sqlite3
Vis mig: en tabel og den første post
I server.js (eller en ny database.js, som du importerer):
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);
Kør node server.js (eller et kort testscript). Du ser et array af objekter i konsollen. En fil kaldet web.db vises i din projektmappe – det er hele databasen.
SQL i en nøddeskal: CREATE TABLE = en ny tabel (som et ark i Excel). INSERT = tilføj en række. SELECT = læs data. Spørgsmålstegnene ? i prepare beskytter mod SQL injection – indsæt aldrig brugertekst direkte i en forespørgselsstreng!
Nu er det din tur 💪
- Installer
better-sqlite3i din servermappe. - Opret en
vzkazy-tabel efter eksemplet (kolonner: id, jmeno, text, vytvoreno). - Indsæt 3 testbeskeder med
INSERT. - Stop scriptet, kør det igen, og
SELECTén gang til – er dataene stadig der? - Tilføj
web.dbtil.gitignore(i produktion har hver server sin egen database; nogle gange eksporteres den separat).
Tjek: Filen web.db eksisterer, og data forbliver efter en genstart. I næste lektion forbinder vi hele gæstebogen til den gennem en API.
Det tager du med fra denne lektion
- SQLite = en database i filen
web.db. CREATE TABLE,INSERT,SELECT– grundlaget i SQL.- Parametriserede forespørgsler (
?) for sikkerhed.
© 2026 Ing. Martin Polak / AlgoRhino · Vilkår for indholdsbrug