SQL Database Connector
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:
If there are special characters in the password, they must be URL-encoded, for instance replacing
%23. The rest of the encodings are listed here.
Tip: Some special characters are not supported by the default mySQL integration, which uses UTF8 encoding. You can add
?charset=UTF8MB4_GENERAL_CIto resolve this and appropriately send characters such as emojis to your SQL database.
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 =>
- postgres =>
- mssql =>
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 <= 100. 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:
user, password, host, port, database, ...param1, param2
All fields are required in the connect string, including port number. For mysql, that's typically 3306, for Postgres, that's 5432.