以下の要件で、SQLクエリを実行できるWebアプリケーションの開発を行いました:
データベース接続情報:
まず、プロジェクトディレクトリを作成し、必要なファイルを準備しました:
mkdir MyQueryPad001
必要なパッケージを requirements.txt に記述:
streamlit
mysql-connector-python
pandas
sqlalchemy
pymysql
メインアプリケーションコード(app.py)の実装:
import streamlit as st
from sqlalchemy import create_engine
import pandas as pd
# SQLAlchemy engineの作成
def init_connection():
return create_engine(
"mysql+pymysql://****:************@localhost/dev_db001"
)
# クエリを実行する関数
def run_query(query):
engine = init_connection()
try:
return pd.read_sql_query(query, engine)
except Exception as e:
st.error(f"エラーが発生しました: {str(e)}")
return None
# アプリケーションのメイン部分
def main():
st.title("MyQueryPad")
# クエリ入力フィールド
query = st.text_area("SQLクエリを入力してください:", height=150)
# 実行ボタン
if st.button("クエリを実行"):
if query:
# クエリの実行
results = run_query(query)
if results is not None:
# 結果の表示
st.success("クエリが正常に実行されました")
st.dataframe(results)
else:
st.warning("クエリを入力してください")
if __name__ == "__main__":
main()
以下のコマンドでアプリケーションを起動:
cd MyQueryPad001 && streamlit run app.py
アプリケーションは自動的にブラウザで開き、以下のURLでアクセス可能:
本プロジェクトでは、StreamlitとMySQLを組み合わせた簡潔で機能的なクエリ実行アプリケーションを開発しました。 主な特徴として:
これらの機能により、データベースクエリのテストや実行を容易に行うことができるツールが完成しました。