aber das Script ist durchgelaufen, Datenbank ist fertig - sehr schön
Ich bin mir sicher, Du wirst irgendwann ein ähnliches Problem haben.
Also 2 Hinweise dazu:
1. Updates eines einzelnen Datensatzes beziehen sich fast immer auf den Primärschlüssel*
2. Eine Menge von Datensätzen zu aktualisieren und dazu ein Programm zu schreiben ist möglich, aber nicht effizient und nicht schnell, je größer die Anzahl der zu aktualisierenden Datensätze, desto mehr fällt das Problem auf
zu 1
jede Tabelle sollte diesen Primärschlüssel haben, damit ein Datensatz eindeutig identifizierbar ist. So kann jeder beliebige Datensatz mit spezifischen Werten aktualisiert werden.
zu 2
Ein Client Programm, das jeden Datensatz runterlädt, aktualisiert und wieder zu DB schickt, ist fürchterlich langsam. Fühlbar wird das vielleicht bei ein paar Tausend Datensätzen, irgendwann tut es weh, dauert ewig...
Um das zu vermeiden, nutzt man bspw. Programmcode auf dem Server (gibt es bei sqlite nicht, siehe Caravan Frage) oder Update Statements, die sich korrelierte Updates nennen. Letzteres erfolgt auf dem Server, ist unschlagbar schnell und lediglich ein einziges Statement ohne Programmcode.
* Es gibt viele Situationen besonders beim Anlegen, initialen Befüllen, Entwickeln einer DB, wo man exotische Statements ausführt, vielleicht wie Deins oben, die sozusagen außer der Reihe, einmalig benötigt werden, um irgendeinen Datenbestand "grade zu ziehen". Und da darf man ruhig den bequemsten Weg gehen. Für eine regelhafte Anwendung von Statements sollte man dann genauer überlegen, was man tut. Es sei denn, es ist ein reines Privatprojekt, man hat Zeit und tut damit niemand weh.