37创客科创中心

 找回密码
 立即注册
查看: 1943|回复: 0

使用python和streamlit编写一个包含sqlite数据库的网站,包含...

[复制链接]

45

主题

84

帖子

909

积分

版主

Rank: 7Rank: 7Rank: 7

积分
909
发表于 2023-10-18 17:40:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x





  1. import streamlit as st
  2. import sqlite3

  3. conn = sqlite3.connect('database.db')
  4. cursor = conn.cursor()

  5. operation = st.sidebar.selectbox("操作", ("创建表格", "插入数据", "查询数据", "删除数据"))

  6. if operation == "创建表格":
  7.     cursor.execute('''
  8.     CREATE TABLE IF NOT EXISTS users (
  9.         id INTEGER PRIMARY KEY AUTOINCREMENT,
  10.         name TEXT,
  11.         age INTEGER
  12.     )
  13.     ''')
  14.     conn.commit()
  15.     st.write("创建表格成功")

  16. elif operation == "插入数据":
  17.     name = st.text_input("请输入姓名")
  18.     age = st.number_input("请输入年龄")
  19.     if st.button("插入"):
  20.         cursor.execute('''
  21.         INSERT INTO users (name, age)
  22.         VALUES (?, ?)
  23.         ''', (name, age))
  24.         conn.commit()
  25.         st.write("插入数据成功")

  26. elif operation == "查询数据":
  27.     cursor.execute('SELECT * FROM users')
  28.     data = cursor.fetchall()
  29.     for row in data:
  30.         st.write(f"ID: {row[0]}, 姓名: {row[1]}, 年龄: {row[2]}")

  31. elif operation == "删除数据":
  32.     cursor.execute('SELECT * FROM users')
  33.     data = cursor.fetchall()
  34.     for row in data:
  35.         st.write(f"ID: {row[0]}, 姓名: {row[1]}, 年龄: {row[2]}")
  36.     id = st.number_input("请输入要删除的ID")
  37.     if st.button("删除"):
  38.         cursor.execute('DELETE FROM users WHERE id = ?', (id,))
  39.         conn.commit()
  40.         st.write("删除数据成功")

  41. if __name__ == "__main__":
  42.     st.title("SQLite数据库网站")
  43.     st.write("请在侧边栏选择操作")
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|37创客科创中心

GMT+8, 2025-12-11 17:17 , Processed in 0.213894 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表