Referenzen:
– Docs for the SQLAlchemy Query API
– SQLAlchemy Doku
Im folgenden eine Kleine Demo,
– wie bestehende SQLAlchemy-Definitionen eines bestehendes Python-Scripts in die interaktive Python-Konsole importier werden können und
– wie SQLAlchemy-Entitäten SQLAlchemy-artig von der abgefragt und hinzu gefügt werden.
| Ablauf | Command | Meaning |
|---|---|---|
| 1 | >python | Start Python Console |
| 2 | >from path/flask_postgres_sql_hello_app import db,Person | Importiert die in flask_postgres_sql_hello_app.py (–> siehe) gemachten Definitionen von db und Person |
| 3ff | results = Person.query.all() | Holt alle Person Entitäten von der entsprechenden Tabelle |
| 3ff | results = Person.query.first() | |
| 3ff | Person.query.filter_by(name=’Hans‘).all() #Alternativ: Person.query.filter(Person.name=’Hans‘).all() #Alternativ: db.session.query(Person).filter(Person.name=’Hans‘).all() | Holt Person Entitäten die dem Filter entsprechen von der entsprechenden Tabelle |
| User.query.filter(User.name.like(‚B%‘)).all() ilike(‚b%‘) | Like-Query Like (Case-insensitive) | |
| 3ff | Person.query.filter(Person.name==‚Hans‘).filter(Person.name==‚Peter‘).all() | Multiple Filters (Method chaining) |
| 3ff | query.count() query.first() query.get(9) query.get(‚ID1‘) query.limit(2) query.delete() query.order_by(db.desc(Person.name)) | Wird für Grouping benutzt Nur erstes Finding bringen Nur 9tes Finding bringen Primary-Key filter Nur die ersten 2 Löschen des Query-Resultats Order by |
| Person.query.join(‚vehicles‘).filter(Vehicle.marke==‚Opel‘).all() | Join-Beispiel | |
| 3ff | person = Person(name=’Bob‘) db.session.add(person) db.sesssion.commit() | Erstellen eines Person-Objekts und speichern desselben. |
| 3ff | db.session.add_all([Person(name=’Ada‘), Person(‚Jira‘)]) db.sesssion.commit() | Erstellen mehrerer Person-Objekt und speichern desselben |
| 3ff | ||
| 3ff | ||
| 3ff |