Zum Inhalt springen

TablePro täglich nutzen? Eine Lizenz ergänzt Bezahlfunktionen und finanziert die nächste Version. Lizenz kaufenLizenz kaufen, TablePro fördern

Abfragen schreiben, ausführen und verstehen

Für alle, die SQL gegen eine laufende Datenbank schreiben: Arbeite mit dem Schema zur Hand, führe eine Anweisung oder ein ganzes Skript aus, behalte nützliche Abfragen und finde heraus, warum eine langsamer wurde. Alles hier steht in der Mac-App bereit; der letzte Abschnitt behandelt iPhone und iPad.
MaciPhone & iPad

Bezahlfunktionen auf dieser Seite: Query Insights (Starter) und Result Charts (Starter). Alles andere hier ist kostenlos.

Ein Editor, der dein Schema kennt

Die Autovervollständigung liest beim Tippen das Verbindungsschema: Tabellen nach FROM und JOIN, Spalten eines Alias sowie Spalten einer zuvor definierten CTE oder Unterabfrage. Die Hervorhebung verwendet tree-sitter; ⌘⇧L formatiert die Anweisung am Cursor, ohne Kommentare zu entfernen.

⌘⏎ führt die Anweisung am Cursor oder die Auswahl aus, ⌘⇧⏎ alle, ⌘⌥⏎ ohne Zeilenlimit und ⌘. bricht ab. Ein Batch gewöhnlicher Anweisungen läuft in einer Transaktion und wird bei einem Fehler zurückgerollt. Ausnahmen sind Skripte mit eigener Transaktionssteuerung, SQL-Server-Skripte, nicht transaktionsfähige Anweisungen wie VACUUM und DDL auf MySQL, MariaDB und Oracle, das selbstständig bestätigt wird.

  • Anweisungsmarkierungen am Rand mit jeweils eigener Ausführungsschaltfläche.
  • Suchen und Ersetzen mit regulären Ausdrücken.
  • Vim-Modus mit Bewegungen, Registern und Makros; :w führt die Abfrage aus.
  • .sql-Dateien lassen sich als Abfrage-Tabs öffnen, bearbeiten und speichern.
TablePro-SQL-Editor mit einer Abfrage, die die CTE recent_orders mit users verknüpft, und einer Autovervollständigungsliste mit den CTE-Spalten.

Parameter, Verlauf und gespeicherte Abfragen

Schreibe :customer_id in eine Abfrage; TablePro fragt vor der Ausführung nach Wert und Typ und bindet den Wert nativ, sofern der Treiber dies unterstützt.

Jede ausgeführte Abfrage landet im lokalen Verlauf (⌘Y) mit Volltextsuche und Filtern für Quelle, Fehler und Zeitraum. Standardmäßig bleiben 10.000 Einträge für 90 Tage erhalten; der Verlauf wird nie synchronisiert.

Speichere eine Abfrage mit einem Schlüsselwort wie dau und tippe es im Editor zur Erweiterung. Gespeicherte Abfragen behalten einen Versionsverlauf. Ein verknüpfter SQL-Ordner synchronisiert .sql-Dateien und Seitenleiste in beide Richtungen mit Git-Statusbuchstaben pro Datei. Dies ist kostenlos und getrennt von „Verknüpfte Ordner“, der Starter-Funktion für gemeinsame Verbindungsdateien.

Abfrage mit den Parametern :customer_id und :since, dem Bereich zur Eingabe ihrer Werte und dem Abfrageverlauf.

Schnell öffnen und Tabs

„Schnell öffnen“ (⌘⇧O) findet Tabellen, Views und Systemtabellen aller offenen Verbindungen sowie gespeicherte und zuletzt verwendete Abfragen. Jeder Tab behält SQL, Sortierung, Filter und Spaltenbreiten. Tabs kehren nach dem Beenden und Öffnen der App zurück; ⌃Tab wechselt zwischen den zuletzt verwendeten.

Plan lesen, vergleichen und verfolgen

EXPLAIN und EXPLAIN Compare

⌥⌘E zeigt den Abfrageplan als Diagramm, Baum mit Kostenbalken oder Rohdaten des Systems. Wähle einen früheren Lauf derselben Abfrage als Ausgangspunkt; der Vergleich zeigt, ob sie langsamer wurde und sich der Plan änderte. Eine Differenz unter 15% gilt als Rauschen. Beides ist kostenlos.

Dry-Run-Kostenschätzung
Google BigQuery
SQL-Systeme ohne EXPLAIN
SQL Server, Oracle, Beancount
EXPLAIN-Vergleich einer Abfrage auf orders: Der Plan wechselte von Index Scan zu Seq Scan, und die Abfrage ist langsamer als ihre Referenz.

Query Insights

Query Insights: Starter-Tarif

Query Insights liest den Abfrageverlauf dieses Macs und ordnet die Ergebnisse: häufigste, langsamste, fehlschlagende und gegenüber dem vorherigen Zeitraum verlangsamte Abfragen. Abfragen werden nach Form gruppiert; dieselbe Anweisung mit unterschiedlichen Werten zählt einmal. Die Zahlen werden auf deinem Mac berechnet und nie hochgeladen.

Abfrageanalyse der letzten 7 Tage: Diagramm erfolgreicher und fehlgeschlagener Abfragen pro Tag über den Listen Häufigste, Langsamste und Langsamer geworden; eine Abfrageform ist als Langsamer geworden markiert.

Ergebnisse als Diagramme und Karten

Ein Ergebnis lässt sich im selben Tab von der Datentabelle zu einem Diagramm oder einer Karte und zurück wechseln.

Result Charts

Result Charts: Starter-Tarif

Stelle Ergebnisse als Balken-, Linien-, Flächen- oder Streudiagramm dar, mit Zeitachse für Datumswerte und einer Reihe pro Wert einer gewählten Spalte. Ein Diagramm zeichnet bis zu 2.000 Punkte und 20 Reihen aus den ersten 50.000 Zeilen; die Werkzeugleiste meldet, wenn es vorher stoppt.

Liniendiagramm des monatlichen Umsatzes aus orders mit einer Linie je Bestellstatus.

Kartenansicht

Wenn eine Spalte Geometrie als WKT, WKB, GeoJSON, ClickHouse-Tupel oder Elasticsearch-geo_point-Werte enthält, zeichnet die Kartenansicht sie auf Apple Maps. Die Auswahl einer Form wählt ihre Zeile. Deine Zeilen bleiben auf dem Mac; Apple liefert die Kartenkacheln. Die Kartenansicht ist kostenlos.

Kartenansicht mit bewohnten Orten aus einer PostGIS-Tabelle und dem ausgewählten Punkt Paris im Zeileninspektor.

Systeme ohne SQL

Bei Verbindungen ohne SQL nimmt der Editor die eigene Sprache des Systems an; die jeweilige Systemseite erklärt die Unterstützung. Der MongoDB-Editor ist eine JavaScript-Shell im mongosh-Stil innerhalb von TablePro, nicht mongosh selbst.

Abfragesprache nach System
MongoDB (MQL), Redis (Redis CLI), Cassandra (CQL), ScyllaDB (CQL), Amazon DynamoDB (PartiQL), Elasticsearch (Query DSL), etcd (etcdctl), Apache Kafka (KafkaQL), SurrealDB (SurrealQL), Typesense (Typesense API), Weaviate (GraphQL)

Auf iPhone und iPad

Die iPhone- und iPad-App hat einen Abfrage-Tab mit SQL-Hervorhebung, Ausführen und Stoppen (⌘↩ mit Tastatur) und einem Verlauf der letzten 200 Abfragen auf diesem Gerät. Ergebnisse lassen sich als JSON, CSV oder SQL-INSERT-Anweisungen kopieren oder teilen.

Sie hat keine Autovervollständigung, Formatierung, Parameter, EXPLAIN oder gespeicherte Abfragen und behält höchstens 10.000 Ergebniszeilen. Nutze LIMIT für den gewünschten Ausschnitt.

Wo es funktioniert

Jede Fähigkeit auf dieser Seite, der nötige Mac-Tarif und ihre Verfügbarkeit auf iPhone und iPad
Fähigkeit
SQL-Editor mit Autovervollständigung und FormatierungMac: KostenlosiPhone und iPad: Hervorhebung, Ausführen und Stoppen; keine Autovervollständigung
AbfrageparameterMac: KostenlosiPhone und iPad: Nicht verfügbar
AbfrageverlaufMac: KostenlosiPhone und iPad: Die letzten 200 Abfragen auf dem Gerät
Gespeicherte Abfragen und verknüpfte SQL-OrdnerMac: KostenlosiPhone und iPad: Nicht verfügbar
Schnell öffnenMac: KostenlosiPhone und iPad: Nicht verfügbar
EXPLAIN und EXPLAIN CompareMac: KostenlosiPhone und iPad: Nicht verfügbar
Query InsightsMac: Starter-TarifiPhone und iPad: Nicht verfügbar
Result ChartsMac: Starter-TarifiPhone und iPad: Nicht verfügbar
KartenansichtMac: KostenlosiPhone und iPad: Nicht verfügbar
Ergebnisse kopieren oder teilenMac: KostenlosiPhone und iPad: Kostenlos

Relevante Einschränkungen

  • Eine Abfrage liefert höchstens 10.000 Zeilen, außer du erhöhst das Limit in den Einstellungen bis 500.000 oder führst sie mit ⌘⌥⏎ aus. Ein selbst geschriebenes LIMIT hat immer Vorrang.
  • Abfrageverlauf und Query Insights gelten nur für diesen Mac; Abfragen auf anderen Macs oder iPhones fehlen darin.
  • Der Shell-Befehl tablepro öffnet Verbindungen und Dateien in der App. Er führt keine Abfragen aus dem Terminal aus.

TablePro herunterladen

TablePro ist quelloffen und kostenlos nutzbar. Bezahlte Tarife ergänzen die Mac-App um optionale Funktionen.
Für Mac herunterladen

macOS 13 Ventura oder neuerApple silicon oder Intel

Im App Store laden

iPhone und iPadiOS und iPadOS 18 oder neuer

Preise ansehen