Iemācies glabāt datus relāciju datubāzē. Raksti SQL vaicājumus un savieno PostgreSQL ar Python, izmantojot psycopg2.
Relāciju datubāžu koncepti, tabulas, kolonnas un rindas, pgAdmin, pirmā datubāze.
Četras pamatoperācijas datubāzē, WHERE, ORDER BY, LIMIT klauzulas.
ER diagrammas, primārās (PK) un ārējās (FK) atslēgas, tabulu relācijas.
INNER JOIN, LEFT JOIN, WHERE ar vairākām tabulām, COUNT, AVG.
psycopg2.connect(), cursor.execute(), parametrizēti vaicājumi %s, fetchall(), commit().
Quiz rezultātu saglabāšana PostgreSQL, SELECT TOP-5, INSERT ar psycopg2, pilna CRUD lietotne.
import psycopg2
sav = psycopg2.connect(dbname="spele_db", user="postgres", host="localhost")
k = sav.cursor()
# INSERT - vienmēr izmanto %s, nekad f-strings!
k.execute("INSERT INTO highscore (vards, punkti) VALUES (%s, %s)", ("Anna", 95))
sav.commit()
# SELECT
k.execute("SELECT vards, punkti FROM highscore ORDER BY punkti DESC LIMIT 5")
top5 = k.fetchall() # [(Anna, 95), (Janis, 88), ...]
k.close(); sav.close()
CREATE TABLE highscore (
id SERIAL PRIMARY KEY,
vards VARCHAR(50) NOT NULL,
punkti INTEGER DEFAULT 0
);
SELECT * FROM highscore WHERE punkti > 50 ORDER BY punkti DESC;
INSERT INTO highscore (vards, punkti) VALUES ('Anna', 95);
UPDATE highscore SET punkti = 100 WHERE vards = 'Anna';
DELETE FROM highscore WHERE id = 5;