FAGPORTALEN

Database-integration (SQLite, PostgreSQL)

Programmering B · HTX · B-niveau · Praktisk projekt

💻 Database-integration

SQLite — serverløs database, perfekt til udvikling og små projekter:

```python

import sqlite3

Opret forbindelse

conn = sqlite3.connect("data.db")

cursor = conn.cursor()

Opret tabel

cursor.execute("""

CREATE TABLE IF NOT EXISTS brugere (

id INTEGER PRIMARY KEY AUTOINCREMENT,

navn TEXT NOT NULL,

email TEXT UNIQUE NOT NULL

)

""")

Indsæt med parameterisering (ALDRIG brug f-strings!)

cursor.execute("INSERT INTO brugere (navn, email) VALUES (?, ?)",

("Alice", "alice@example.com"))

conn.commit()

Læs data

cursor.execute("SELECT * FROM brugere WHERE navn = ?", ("Alice",))

brugere = cursor.fetchall()

conn.close()

```

SQLAlchemy ORM (mere Pythonic):

```python

from sqlalchemy import create_engine, Column, Integer, String

from sqlalchemy.orm import declarative_base, Session

Base = declarative_base()

class Bruger(Base):

__tablename__ = "brugere"

id = Column(Integer, primary_key=True)

navn = Column(String, nullable=False)

email = Column(String, unique=True)

engine = create_engine("sqlite:///data.db")

Base.metadata.create_all(engine)

with Session(engine) as session:

ny_bruger = Bruger(navn="Bob", email="bob@example.com")

session.add(ny_bruger)

session.commit()

```

PostgreSQL til produktion: docker compose, psycopg2, Railway.app.

Læringsmål

Sådan kan du arbejde med emnet

Træningsforslag

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.