sql-demo / app.py
jordancaraballo's picture
Adding app to site
14acd88
import sqlite3
import streamlit as st
def create_database():
conn = sqlite3.connect('customers.db')
c = conn.cursor()
c.execute("""
SELECT name FROM sqlite_master WHERE type='table' AND name='customers'
""")
if not c.fetchone():
c.execute('''CREATE TABLE customers
(name text, address text, phone text)''')
conn.commit()
conn.close()
def add_customer(name, address, phone):
conn = sqlite3.connect('customers.db')
c = conn.cursor()
c.execute("INSERT INTO customers VALUES (?, ?, ?)", (name, address, phone))
conn.commit()
conn.close()
def delete_customer(name):
conn = sqlite3.connect('customers.db')
c = conn.cursor()
c.execute("DELETE FROM customers WHERE name=?", (name,))
conn.commit()
conn.close()
def update_customer(name, address, phone):
conn = sqlite3.connect('customers.db')
c = conn.cursor()
c.execute("UPDATE customers SET address = ?, phone = ? WHERE name = ?", (address, phone, name))
conn.commit()
conn.close()
def view_customers():
conn = sqlite3.connect('customers.db')
c = conn.cursor()
c.execute("SELECT * FROM customers")
customers = c.fetchall()
conn.close()
return customers
def search_customer(name, phone):
conn = sqlite3.connect('customers.db')
c = conn.cursor()
c.execute("SELECT * FROM customers WHERE name=? OR phone=?", (name, phone))
customers = c.fetchall()
conn.close()
return customers
def main():
st.title("Customer Database App")
create_database()
name = st.text_input("Name")
address = st.text_input("Address")
phone = st.text_input("Phone Number")
st.sidebar.header("Click for operations")
if st.sidebar.button("Add"):
add_customer(name, address, phone)
if st.sidebar.button("Delete"):
delete_customer(name)
if st.sidebar.button("Update"):
update_customer(name, address, phone)
if st.sidebar.button("Search"):
customers = search_customer(name, phone)
st.header("Customers File")
st.table(customers)
if st.sidebar.button("View"):
customers = view_customers()
st.header("Customers File")
st.table(customers)
if __name__ == '__main__':
main()