SQL Database Connector
Last updated
Was this helpful?
Last updated
Was this helpful?
The SQL Database Connector Plugin connects to databases and runs SQL queries from within Bubble. These queries can be triggered as actions, datasources (they show up as External APIs) or both. Bubble supports connecting to PostGres, MySQL and Microsoft SQL.
A connection should look like:
mysql://username:password@my-db-instance.endpoint.us-east-1.rds.amazonaws.com:PORT/db_name
If there are special characters in the password, they must be URL-encoded, for instance replacing #
with %23
. The rest of the encodings are listed .
If the connection needs to be encrypted, e.g., with Microsoft Azure, you will need to add a parameter to it. The parameter depends on the type of SQL database you are connecting to:
mysql => ?ssl={}
postgres => ?ssl=true
mssql => ?encrypt=true
Once a connection string is created, you can create queries that use it.
Any SQL statement is allowed, but for SELECT statements, you must add LIMIT N at the end, where N <= 200. Once you test and save the query, you can use it as an action, data source, or both, depending on how you configured it. Please note that a SELECT query returns a list, so when using it as the result of a previous step in a workflow, you must select a specific element by using :first item, :last item, etc.
These libraries come with different options and the SQL Database Connector Plugin supports passing these options through as URL parameters. In other words all the options in the documentation for these libraries can be inserted in the URL as query string parameters.
You will find the documentation for the different libraries and their options here:
For example, we can go from:
protocol://user:password@host:port/database?param1=value1¶m2=value2 ... to
All fields are required in the connect string, including port number. For mysql, that's typically 3306, for Postgres, that's 5432.
mssql -> mysql -> postgres ->