Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 8 - Založení databáze v PySide6 a QtSql - Ukládání záznamů

V předchozí lekci, Založení databáze v PySide6 a QtSql, jsme si vysvětlili základy práce s SQL a Qt frameworkem v konzolovém prostředí pomocí knihovny PySide6.

V následujícím tutoriálu databází v Pythonu budeme pokračovat v tvorbě databáze pomocí knihovny PySide6 a frameworku Qt. Ukážeme si tvorbu dotazů pomocí INSERT a s tím spojená rizika týkající se SQL Injection. Vysvětlíme si, jak tento problém řešit. Nakonec se zaměříme na ukládání záznamů.

Dotazy INSERT

Dotaz INSERT je SQL příkaz, který slouží k vložení nových záznamů do tabulky v databázi. Následující konstanty jsou univerzální pro obě naše použité databáze. Stejně jako v lekci Založení databáze v PySide6 a QtSql je v přiloženém archivu jak zde použitý kód pro SQLite, tak i pro databázi PostgreSQL:

INSERT_AUTHOR = """
    INSERT INTO author(name) VALUES(:name)
    """

INSERT_BOOK = """
    INSERT INTO book(author_id, title) VALUES(:author, :title)
    """

INSERT_GENRE = """
    INSERT INTO genre(title) VALUES(:title)
    """

INSERT_BOOK_GENRE = """
    INSERT INTO book_genre(book_id, genre_id) VALUES(:book, :genre)
    """

Zamysleme se nad tím, proč jsou v kódu použity dvojtečky, například zde: VALUES(:author, :title). Důvodem je bezpečnost. Nejde totiž o přímé parametry, nýbrž o zástupné texty. O bezpečnosti si nyní musíme říct více.


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V tomto tutoriálu databází v Pythonu budeme pokračovat v tvorbě databáze pomocí knihovny PySide6 a zaměříme se na ukládání záznamů.
Článek pro vás napsal Virlupus
Avatar
Autor se věnuje webovým aplikacím, skladově-účetnímu softwaru, 3D grafice, lexiální analýze a parserování. Studuje fyziku na MFF UK. Učil IT na střední škole.
Aktivity