Spaces:
Sleeping
Sleeping
File size: 2,041 Bytes
746d2f1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
---
title: st.connections.SQLConnection
slug: /develop/api-reference/connections/st.connections.sqlconnection
---
<Tip>
This page only contains the `st.connections.SQLConnection` class. For a deeper dive into creating and managing data connections within Streamlit apps, read [Connecting to data](/develop/concepts/connections/connecting-to-data).
</Tip>
<Autofunction function="streamlit.connections.SQLConnection" />
### Basic usage:
[SQLAlchemy](https://pypi.org/project/SQLAlchemy/) and any required drivers must be installed to use this connection.
```python
import streamlit as st
conn = st.connection("sql")
df = conn.query("select * from pet_owners")
st.dataframe(df)
```
In case you want to pass a connection URL (or other parameters) directly, it also works:
```python
conn = st.connection(
"local_db",
type="sql",
url="mysql://user:pass@localhost:3306/mydb"
)
```
Or specify parameters in [secrets](/develop/concepts/connections/secrets-management):
```toml
# .streamlit/secrets.toml
[connections.mydb]
dialect = "mysql"
username = "myuser"
password = "password"
host = "localhost"
database = "mydb"
```
```python
# streamlit_app.py
conn = st.connection("mydb", type="sql", autocommit=True)
```
As described above, some cloud databases use extra `**kwargs` to specify credentials. These can be passed via secrets using the `create_engine_kwargs` section:
```toml
# .streamlit/secrets.toml
[connections.snowflake]
url = "snowflake://<username>@<account>/"
[connections.snowflake.create_engine_kwargs.connect_args]
authenticator = "externalbrowser"
role = "..."
# ...
```
<Autofunction function="streamlit.connections.SQLConnection.connect" />
<Autofunction function="streamlit.connections.SQLConnection.query" />
<Autofunction function="streamlit.connections.SQLConnection.reset" />
<Autofunction function="streamlit.connections.SQLConnection.driver" />
<Autofunction function="streamlit.connections.SQLConnection.engine" />
<Autofunction function="streamlit.connections.SQLConnection.session" />
|