ホームページ >データベース >mysql チュートリアル >MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法

MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法

WBOY
WBOYオリジナル
2023-09-20 12:22:431000ブラウズ

MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法

MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法

はじめに:
インターネットの継続的な発展に伴い、ますます多くの人々がさまざまな投資に資産を投資し始めます。投資家にとって、使いやすいオンライン投資管理システムは、投資をより適切に管理および追跡するのに役立ちます。この記事では、MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法と、具体的なコード例を紹介します。

1. システム要件の分析
開発を開始する前に、開発するシステムの機能要件を明確にする必要があります。シンプルなオンライン投資管理システムには、次の機能が含まれている必要があります。

  1. ユーザー登録とログイン: ユーザーはアカウントを登録し、システムにログインできる必要があります。
  2. プロジェクト管理: ユーザーは投資プロジェクトを作成、変更、削除できます。各プロジェクトには名前、開始日、投資額を含めることができます。
  3. 投資記録管理: ユーザーは、投資日、投資金額、投資プロジェクトなどの各投資行動を記録できます。
  4. 投資統計とレポート: ユーザーは自分の投資統計を表示し、レポートを生成できます。

2. 開発環境の準備
開発を開始する前に、開発環境を準備する必要があります。この記事では、MySQL データベースと Python プログラミング言語を使用して開発環境を構築します。

  1. MySQL データベースをインストールし、新しいデータベースを作成します。
  2. Python プログラミング環境をインストールし、MySQL 接続ライブラリ (pymysql など) をインストールします。

3. データベース設計
次に、システム データを保存するデータベース テーブル構造を設計する必要があります。この記事では、ユーザー テーブル、プロジェクト テーブル、投資記録テーブルの 3 つのデータ テーブルを設計します。

  1. ユーザー テーブル (ユーザー) には、ユーザー ID、ユーザー名、パスワードなどのフィールドが含まれます。
  2. プロジェクト テーブル (プロジェクト) には、プロジェクト ID、プロジェクト名、開始日、投資額などのフィールドが含まれます。
  3. 投資記録テーブル (投資) には、記録 ID、投資日、投資金額、投資プロジェクト ID、ユーザー ID などのフィールドが含まれます。

4. システム開発
開発の前に、pymysql、flask などの必要なライブラリとモジュールをインポートする必要があります。

  1. Python ファイルを作成し、必要なライブラリとモジュールをインポートします。
  2. データベース接続とカーソル オブジェクトを定義します。

    import pymysql
    connection = pymysql.connect(host='localhost', user='root', password='password', database='investments')
    cursor = connection.cursor()
  3. ユーザー登録およびログイン機能を作成します。

    # 用户注册
    @app.route('/register', methods=['POST'])
    def register():
     username = request.form['username']
     password = request.form['password']
     cursor.execute("INSERT INTO users (username, password) VALUES (%s, %s)", (username, password))
     connection.commit()
     return redirect(url_for('login'))
    
    # 用户登录
    @app.route('/login', methods=['POST'])
    def login():
     username = request.form['username']
     password = request.form['password']
     cursor.execute("SELECT * FROM users WHERE username = %s AND password = %s", (username, password))
     if cursor.fetchone() is not None:
         session['username'] = username
         return redirect(url_for('home'))
     else:
         return redirect(url_for('login'))
  4. プロジェクト管理機能を作成します。

    # 创建项目
    @app.route('/create-project', methods=['POST'])
    def create_project():
     name = request.form['name']
     start_date = request.form['start_date']
     investment_amount = request.form['investment_amount']
     cursor.execute("INSERT INTO projects (name, start_date, investment_amount) VALUES (%s, %s, %s)", (name, start_date, investment_amount))
     connection.commit()
     return redirect(url_for('projects'))
    
    # 修改项目
    @app.route('/edit-project/<int:project_id>', methods=['POST'])
    def edit_project(project_id):
     name = request.form['name']
     start_date = request.form['start_date']
     investment_amount = request.form['investment_amount']
     cursor.execute("UPDATE projects SET name = %s, start_date = %s, investment_amount = %s WHERE id = %s", (name, start_date, investment_amount, project_id))
     connection.commit()
     return redirect(url_for('projects'))
    
    # 删除项目
    @app.route('/delete-project/<int:project_id>', methods=['POST'])
    def delete_project(project_id):
     cursor.execute("DELETE FROM projects WHERE id = %s", (project_id,))
     connection.commit()
     return redirect(url_for('projects'))
  5. 投資記録管理機能を作成します。

    # 创建投资记录
    @app.route('/create-investment', methods=['POST'])
    def create_investment():
     date = request.form['date']
     amount = request.form['amount']
     project_id = request.form['project_id']
     cursor.execute("INSERT INTO investments (date, amount, project_id, user_id) VALUES (%s, %s, %s, %s)", (date, amount, project_id, session['username']))
     connection.commit()
     return redirect(url_for('investments'))
    
    # 修改投资记录
    @app.route('/edit-investment/<int:investment_id>', methods=['POST'])
    def edit_investment(investment_id):
     date = request.form['date']
     amount = request.form['amount']
     project_id = request.form['project_id']
     cursor.execute("UPDATE investments SET date = %s, amount = %s, project_id = %s WHERE id = %s", (date, amount, project_id, investment_id))
     connection.commit()
     return redirect(url_for('investments'))
    
    # 删除投资记录
    @app.route('/delete-investment/<int:investment_id>', methods=['POST'])
    def delete_investment(investment_id):
     cursor.execute("DELETE FROM investments WHERE id = %s", (investment_id,))
     connection.commit()
     return redirect(url_for('investments'))
  6. 投資統計とレポート機能を作成します。

    # 投资统计
    @app.route('/investment-stats')
    def investment_stats():
     cursor.execute("SELECT SUM(amount) FROM investments WHERE user_id = %s", (session['username'],))
     total_investment = cursor.fetchone()[0]
     return render_template('investment_stats.html', total_investment=total_investment)
    
    # 生成报表
    @app.route('/generate-report')
    def generate_report():
     cursor.execute("SELECT * FROM investments WHERE user_id = %s", (session['username'],))
     investments = cursor.fetchall()
     return render_template('report.html', investments=investments)
  7. システムを実行します。

    if __name__ == '__main__':
     app.secret_key = 'secret_key'
     app.run(debug=True)

5. 概要
この記事では、MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法を簡単に紹介し、関連するコード例を示します。このシステムは、投資家がプロジェクト管理、投資記録管理、投資統計とレポートなどを含む投資をより適切に管理および追跡するのに役立ちます。開発者は独自のニーズに応じてシステムをさらに改良し、実際の投資管理に適用できます。

以上がMySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。