PartiQL

PartiQL ist die SQL-kompatible Abfragesprache von DynamoDB. Schalte einen beliebigen Tabellen-Tab in den PartiQL-Modus (⌘⇧M), um SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen direkt zu schreiben, statt auf Filter-Pills zu klicken.

Wenn du einen Tab in den PartiQL-Modus schaltest, läuft automatisch der Standard-Scan SELECT * FROM "table" — das direkte Äquivalent zum Öffnen der Tabelle in der visuellen Ansicht. Sobald du die Anweisung bearbeitest, liegt das Ausführen bei dir: Drücke ⌘↩ zum Ausführen. Ergebnisse streamen herein, und Mehr laden holt die nächsten Seiten.

SELECT * FROM "my-table" WHERE pk = 'USER#42' AND begins_with(sk, 'ORDER#')
Der PartiQL-Editor mit einer SELECT-Anweisung, dem Vorlagen-Menü und gestreamten Ergebnissen darunter.
Der PartiQL-Editor mit einer SELECT-Anweisung, dem Vorlagen-Menü und gestreamten Ergebnissen darunter.

PartiQL ist nicht SQL

Das PartiQL von DynamoDB ist eine bewusste Teilmenge. Der Editor lintet deine Abfrage, während du tippst, und markiert Konstrukte, die DynamoDB nicht ausführt — meist mit einem Quick-Fix per Klick. Die häufigen Stolperfallen:

  • IN nutzt eckige Klammern, nicht rundeWHERE id IN ['a', 'b'], nicht ('a', 'b'). Quick-Fix schreibt es um. Der Linter warnt außerdem, wenn die Liste die Grenzen von DynamoDB überschreitet (50 Werte auf einer Partition-Key-Spalte, 100 auf einer Nicht-Key-Spalte), bevor der Server sie ablehnen würde.
  • Keine LIMIT-Klausel — die Seitengröße ist ein Tab-Steuerelement, kein SQL. Nutze Mehr laden.
  • Kein JOIN, GROUP BY, HAVING, keine Aggregate, Unterabfragen, UNION oder CTEs. Dafür öffne einen Workbench-Tab — der Linter weist dich dorthin.
  • LIKE → FunktionLIKE '%foo%' wird zu contains(col, 'foo'), 'foo%' wird zu begins_with(col, 'foo'). Quick-Fix angeboten.
  • IS NULL / IS NOT NULLattribute_not_exists(col) / attribute_exists(col). Quick-Fix angeboten (beachte die inverse Zuordnung).
  • String-Literale in einfachen Anführungszeichen'value', nicht "value". Doppelte Anführungszeichen bedeuten einen Bezeichner.

Das Format-Hilfe-Popover neben der Run-Schaltfläche listet diese inline auf, wann immer du eine Erinnerung brauchst.

Vorlagen & gespeicherte Abfragen

Das Queries-Menü lässt fertige Anweisungen in den Editor fallen, aufgelöst gegen die echten Keys der aktiven Tabelle und einen abgetasteten Wert — sodass eine SELECT-Vorlage bereits ankommt und auf deinen Partition Key verweist, nicht auf einen Platzhalter. Springe per Tab durch die hervorgehobenen Lücken, um den Rest auszufüllen.

Behalte eine Anweisung, die du wiederverwenden willst, mit der Save-Schaltfläche — deine gespeicherten Abfragen liegen im selben Menü neben den Vorlagen, bereit zum Ausführen auf jeder Tabelle. Workbench und PartiQL führen getrennte Bibliotheken, da sie unterschiedliche Abfragesprachen sprechen.

Schreib-Vorlagen

INSERT- / UPDATE- / DELETE-Vorlagen nutzen absichtlich synthetische DEMO-*-Keys, sodass das sofortige Ausführen keine echte Zeile versehentlich mutieren kann. Sie sind so gestaltet, dass sie in Reihenfolge laufen — einfügen, dann aktualisieren, dann dasselbe Demo-Item löschen — und du bearbeitest die Keys, um echte Daten anzusteuern.

Verlauf

Jede ausgeführte Abfrage wird im pro-Modus Verlauf gespeichert (getrennt vom Workbench-Verlauf). Öffne das Verlaufsmenü erneut, um eine vorherige Anweisung in den Editor zurückzuholen — einschließlich fehlgeschlagener Läufe, sodass du sie korrigieren und erneut versuchen kannst.

Aktualisiert