streamlit 使用数据库
时间: 2024-09-10 12:06:33 浏览: 183
Streamlit是一个用于创建数据应用程序的Python库。虽然它的核心功能不包括直接操作数据库,但你可以通过Python代码来连接数据库,并在Streamlit应用程序中展示数据库中的数据。
以下是在Streamlit应用程序中使用数据库的一般步骤:
1. 安装必要的库:确保你已经安装了Streamlit以及与你选择的数据库相对应的Python库。例如,如果你使用的是SQLite数据库,你可能需要安装`sqlite3`(标准库中的一个模块)。
2. 建立数据库连接:在Streamlit脚本中,使用相应的库建立与数据库的连接。对于SQLite,可以使用内置的`sqlite3`模块。
3. 编写查询:连接成功后,你可以编写SQL查询语句来从数据库中检索数据。
4. 显示数据:Streamlit提供了多种方式来展示数据,如`st.dataframe`、`st.table`等,你可以将查询结果以表格形式展示在应用程序中。
5. 关闭连接:完成数据展示后,应当关闭数据库连接,以避免资源泄露。
示例代码(以SQLite为例):
```python
import streamlit as st
import sqlite3
# 连接到SQLite数据库
# 数据库文件是my_database.db,如果文件不存在,会自动在当前目录创建:
conn = sqlite3.connect('example.db')
# 创建一个Cursor:
cursor = conn.cursor()
# 执行一条SQL语句,创建user表:
cursor.execute('CREATE TABLE IF NOT EXISTS user (id VARCHAR(20) PRIMARY KEY, name VARCHAR(20))')
# 继续执行一条SQL语句,插入一条记录:
cursor.execute('INSERT INTO user (id, name) VALUES (\'1\', \'Alice\')')
# 通过rowcount获得插入的行数:
print('row count:', cursor.rowcount)
# 关闭Cursor:
cursor.close()
# 提交事务:
conn.commit()
# 关闭Connection:
conn.close()
# 在Streamlit应用程序中展示数据
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM user')
users = cursor.fetchall()
st.dataframe(pd.DataFrame(users, columns=['id', 'name']))
conn.close()
```
阅读全文