SQL Query
Diese Node befindet sich in der Beta-Phase und kann sich ändern.
Die SQL-Node führt SQL-Abfragen an Datenbanken (MariaDB, Microsoft SQL Server, MySQL, PostgreSQL) aus und speichert die Abfrageergebnisse optional in einer Variable, um sie in Ihrem Flow weiterzuverarbeiten.
Basiskonfiguration
- Datenbanktyp: Wählen Sie Ihr Datenbanksystem (unterstützt werden: MariaDB, Microsoft SQL Server, MySQL oder PostgreSQL).
- Datenbank Host: Geben Sie den Hostnamen oder die IP-Adresse Ihres Datenbankservers ein (z. B. localhost, db.example.com).
- Der Datenbank-Host muss über den angegebenen Datenbank-Port für die Control Unit erreichbar sein, auf der RobFlow ausgeführt wird.
- Datenbank Port: Geben Sie den Datenbank-Port an (Standard: 3306 für MySQL/MariaDB, 5432 für PostgreSQL).
- Datenbank Benutzer: Geben Sie den Benutzernamen für die Datenbankauthentifizierung ein.
- Datenbank Passwort: Geben Sie das Passwort für die Datenbankauthentifizierung ein.
- Datenbankname: Geben Sie den Namen der Datenbank an, mit der Sie sich verbinden möchten.
SQL Query
Geben Sie Ihren auszuführenden SQL-Query ein. Die SQL-Node unterstützt SELECT-, INSERT-, UPDATE- und DELETE-Operationen:
- SELECT: Daten aus Tabellen abrufen (z. B.
SELECT * FROM inventory WHERE id = 25) - INSERT: Neuen Befehl hinzufügen (z. B.
INSERT INTO inventory (name, quantity) VALUES ('Cogs', '10')) - AKTUALISIEREN: Ändern Sie vorhandene Datensätze (z. B.
UPDATE inventory SET quantity = 15 WHERE name = 'Cogs') - DELETE: Datensätze entfernen (z. B.
DELETE FROM inventory WHERE id = 5)
Query-Ergebnis speichern
Bei SELECT-Queries können Sie die Ergebnisse optional in einer Variable speichern:
- Ergebnisvariable: Wählen Sie eine String-Variable aus, um die Abfrageergebnisse im JSON-Format zu speichern.
- Ergebnisverarbeitung: Optional können Sie bestimmte Daten aus den Abfrageergebnissen mithilfe der Klammernotation extrahieren.
Ergebnisverarbeitung
Abfrageergebnisse werden automatisch in das JSON-Format konvertiert. Sie können den Inhalt der Variablen eingrenzen, indem Sie einen bestimmten Teil der JSON-Antwort mithilfe der Klammernotation angeben.
Beispiel: queryResult[0]["name"]
queryResult: Die Variable, in der die Abfrageergebnisse gespeichert werden sollen (sollte mit der zuvor ausgewählten Ergebnisvariablen übereinstimmen)- [0]: Erste Zeile im Array mit den Abfrageergebnissen
- ["name"]: Der Wert der Spalte „Name“ aus dieser Zeile
Node Ausgänge
Die SQL-Node verfügt über zwei Ausgänge für die Flow-Steuerung:
- Erfolg: Wird ausgelöst, wenn die Abfrage erfolgreich ausgeführt wurde.
- Ausfall: Wird ausgelöst, wenn die DB-Verbindung oder die Abfrage fehlschlägt (Verbindungs- oder Authentifizierungsprobleme, Syntaxfehler, Verstöße gegen Einschränkungen usw.).
Beispiel für die Benutzung
Daten aus einer Datenbank abrufen
- Datenbanktyp: PostgreSQL
- Host: localhost
- Port: 5432
- Datenbank: myapp
- Abfrage: SELECT * FROM inventory WHERE id = 42
- Ergebnisvariable: inventoryList
- Ergebnisverarbeitung:
inventoryList[0]["quantity"](Speichert den “quantity” Wert der ersten Zeile, die von der Abfrage zurückgegeben wird, in der ausgewählten Variablen)
Einfügen von Daten in eine Datenbank
- Datenbanktyp: MySQL
- Host: db.example.com
- Port: 3306
- Datenbank: Lager
- Abfrage: INSERT INTO products (name, price, stock) VALUES ('BoltA5', 19.99, 100)
Tipps
- Stellen Sie eine Verbindung zur Datenbank mit einem Benutzer her, der über die minimal erforderlichen Berechtigungen verfügt (z. B. schreibgeschützt für SELECT-Abfragen).
- Seien Sie vorsichtig bei der Verwendung von Befehlen, die Daten in Ihrer Datenbank ändern (INSERT, UPDATE, DELETE), da diese Änderungen dauerhaft sind.
- Testen Sie Ihre SQL-Abfrage in einem Datenbank-Client, bevor Sie sie in der SQL-Node verwenden.
- Verwenden Sie die Ergebnisverarbeitung, um nur die benötigten Daten zu extrahieren und so die Variablengröße zu reduzieren.
- Abfrageergebnisse werden automatisch von datenbankspezifischen Typen (DECIMAL, DATETIME) in JSON-kompatible Formate konvertiert.
- Die Node zeigt während der Ausführung den Status „Abfrage wird ausgeführt...“, „Abfrage abgeschlossen“ oder „Abfrage fehlgeschlagen“ an.
- Verwenden Sie die Erfolgs-/Fehlerausgaben, um Fehler elegant zu behandeln (z. B. Wiederholungslogik oder Fehlerbenachrichtigungen).
- Datenbankverbindungen werden nach der Ausführung der Abfrage automatisch geschlossen, um Ressourcenlecks zu verhindern.