Skip to main content

SQL Database

Connect to external databases to retrieve or send data.

Updated over 3 months ago

Overview

The SQL Database node enables you to connect to various database management systems and execute queries to retrieve or manipulate data. This node supports multiple database types including relational databases (MySQL, PostgreSQL, SQL Server) and NoSQL databases (MongoDB, Firebase), providing flexible data access capabilities for your flows.

Input Configuration

Select DBMS

Choose your database management system:

Purpose: Identify the type of database you want to connect to

Available Options: MySQL, PostgreSQL, MongoDB, SqlServer, Firebase

Selection Method: Use the dropdown to select your database type

Interface Changes: Configuration fields adapt based on selected DBMS type

SSL Connection

Purpose: Enable secure encrypted connections to your database

Toggle Setting: Enable or disable SSL/TLS encryption for database connections

Security: Recommended for production environments and remote database connections

Compatibility: Available for supported database systems

Database Connection Configuration

Relational Databases (MySQL, PostgreSQL, SqlServer)

Host:

  • Purpose: Database server address or hostname

  • Format: URL, IP address, or hostname (e.g., https://example.com)

  • Connection Point: Can receive host data from other flow nodes

Port:

  • Purpose: Database server port number

  • Default Values: MySQL (3306), PostgreSQL (5432), SQL Server (1433)

  • Connection Point: Can receive port data from other flow nodes

Database Name:

  • Purpose: Name of the specific database to connect to

  • Format: Database identifier as configured on the server

  • Connection Point: Can receive database name from other flow nodes

Username:

  • Purpose: Database user account for authentication

  • Security: Should have appropriate permissions for intended operations

  • Connection Point: Can receive username from other flow nodes

Password:

  • Purpose: Authentication credential for the specified user

  • Security: Stored securely and not displayed in plain text

  • Connection Point: Can receive password from other flow nodes

Query:

  • Purpose: SQL statement to execute against the database

  • Format: Standard SQL syntax (SELECT, INSERT, UPDATE, DELETE, etc.)

  • Example: SELECT * FROM users

  • Connection Point: Can receive query from other flow nodes

MongoDB Configuration

Connection String:

  • Purpose: Complete MongoDB connection URI

  • Format: MongoDB connection string format

  • Example: mongodb://username:password@host:port/database

  • Connection Point: Can receive connection string from other flow nodes

Database Name:

  • Purpose: MongoDB database name to access

  • Connection Point: Can receive database name from other flow nodes

Collection:

  • Purpose: MongoDB collection (equivalent to table in SQL)

  • Connection Point: Can receive collection name from other flow nodes

Filter:

  • Purpose: MongoDB query filter in JSON format

  • Format: JSON object specifying query criteria

  • Example: {"field": "value"}

  • Connection Point: Can receive filter from other flow nodes

Firebase Configuration

API Key:

  • Purpose: Firebase project API key for authentication

  • Security: Keep confidential and secure

  • Connection Point: Can receive API key from other flow nodes

Auth Domain:

  • Purpose: Firebase authentication domain

  • Format: Typically projectname.firebaseapp.com

  • Connection Point: Can receive auth domain from other flow nodes

Messaging Sender ID:

  • Purpose: Firebase Cloud Messaging sender identifier

  • Connection Point: Can receive sender ID from other flow nodes

App ID:

  • Purpose: Firebase application identifier

  • Connection Point: Can receive app ID from other flow nodes

Project ID:

  • Purpose: Firebase project identifier

  • Connection Point: Can receive project ID from other flow nodes

Storage Bucket:

  • Purpose: Firebase Storage bucket name

  • Connection Point: Can receive bucket name from other flow nodes

Collection:

  • Purpose: Firestore collection name to query

  • Connection Point: Can receive collection name from other flow nodes

Filter:

  • Purpose: Firestore query filter in JSON format

  • Format: JSON object with field, operator, and value specifications

  • Example: {"field": "fieldValue", "operator": "operatorValue", "value": "exampleValue"}

  • Connection Point: Can receive filter from other flow nodes

Output Configuration

Query Results

Main Output: Displays query results in the Output section

Data Format: Results formatted according to the query type and database response

Error Handling: Connection errors and query failures displayed in output area

Connection Point: Query results can feed into other flow nodes for further processing

Execution Control

Send Query Button

Location: Top-right corner of the interface

Function: Initiates database connection and query execution

Visual Feedback: Button provides immediate response when clicked

Processing: Shows query execution progress and completion status

Best Practices

Security Considerations

Credentials Management: Store database credentials securely and avoid hardcoding sensitive information

Connection Encryption: Use SSL connections for production environments

Access Control: Ensure database users have minimal required permissions

Query Validation: Validate and sanitize query inputs to prevent SQL injection

Performance Optimization

Query Efficiency: Write optimized queries to minimize database load and response time

Connection Pooling: Consider connection reuse patterns for high-frequency operations

Data Limiting: Use LIMIT clauses or filters to control result set sizes

Index Usage: Ensure queries utilize appropriate database indexes

Error Handling

Connection Testing: Test database connections before deploying flows

Timeout Management: Plan for potential network delays and connection timeouts

Fallback Strategies: Implement error handling for failed connections or queries

Logging: Monitor query performance and error patterns

Integration Considerations

Flow Architecture

Data Pipeline: Use as data source for analytics, reporting, or processing nodes

Input Connections: Connect dynamic values for queries, filters, and connection parameters

Output Distribution: Database results can feed into multiple downstream processing nodes

Transaction Management: Plan for data consistency across multiple database operations

Database-Specific Considerations

SQL Databases: Leverage standard SQL features like JOINs, aggregations, and transactions

MongoDB: Utilize document-based querying and aggregation pipelines

Firebase: Take advantage of real-time capabilities and integrated authentication

Data Types: Ensure compatibility between database data types and flow processing requirements

Use Cases

Data Retrieval: Fetch records for reporting, analysis, or display purposes

Data Synchronization: Keep external systems synchronized with database changes

Real-time Analytics: Query databases for live dashboards and monitoring

ETL Operations: Extract data for transformation and loading into other systems

User Data Management: Access user profiles, preferences, and application data

The SQL Database node provides comprehensive database connectivity for building data-driven flows with support for multiple database technologies and secure connection management.

Did this answer your question?