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

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

Sep 20, 2023 pm 12:22 PM
mysql python オンライン投資管理システム

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

MySQL対その他のプログラミング言語:比較 MySQL対その他のプログラミング言語:比較 Apr 19, 2025 am 12:22 AM

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

Golang vs. Python:パフォーマンスとスケーラビリティ Golang vs. Python:パフォーマンスとスケーラビリティ Apr 19, 2025 am 12:18 AM

Golangは、パフォーマンスとスケーラビリティの点でPythonよりも優れています。 1)Golangのコンピレーションタイプの特性と効率的な並行性モデルにより、高い並行性シナリオでうまく機能します。 2)Pythonは解釈された言語として、ゆっくりと実行されますが、Cythonなどのツールを介してパフォーマンスを最適化できます。

Python vs. C:曲線と使いやすさの学習 Python vs. C:曲線と使いやすさの学習 Apr 19, 2025 am 12:20 AM

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

Pythonプロジェクトは階層化する必要がありますか? Pythonプロジェクトは階層化する必要がありますか? Apr 19, 2025 pm 10:06 PM

Pythonプロジェクトの階層構造に関する議論Pythonを学習する過程で、多くの初心者がいくつかのオープンソースプロジェクト、特にDjangoフレームワークを使用したプロジェクトと接触します...

MySQLの外国キーの目的を説明してください。 MySQLの外国キーの目的を説明してください。 Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

バックエンド開発における階層アーキテクチャでビジネスロジックと非ビジネスロジックを正しく分割する方法は? バックエンド開発における階層アーキテクチャでビジネスロジックと非ビジネスロジックを正しく分割する方法は? Apr 19, 2025 pm 07:15 PM

バックエンド開発における階層アーキテクチャの問題について議論します。バックエンド開発では、一般的な階層アーキテクチャにはコントローラー、サービス、DAOが含まれます。

関数と正規表現を含むJavaScriptオブジェクトをデータベースに安全に保存して復元するにはどうすればよいですか? 関数と正規表現を含むJavaScriptオブジェクトをデータベースに安全に保存して復元するにはどうすればよいですか? Apr 19, 2025 pm 11:09 PM

フロントエンド開発においてJSONで機能と正規表現を安全に処理することができますが、JavaScriptが必要です...

See all articles