MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法
MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法
はじめに:
インターネットの継続的な発展に伴い、ますます多くの人々がさまざまな投資に資産を投資し始めます。投資家にとって、使いやすいオンライン投資管理システムは、投資をより適切に管理および追跡するのに役立ちます。この記事では、MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法と、具体的なコード例を紹介します。
1. システム要件の分析
開発を開始する前に、開発するシステムの機能要件を明確にする必要があります。シンプルなオンライン投資管理システムには、次の機能が含まれている必要があります。
- ユーザー登録とログイン: ユーザーはアカウントを登録し、システムにログインできる必要があります。
- プロジェクト管理: ユーザーは投資プロジェクトを作成、変更、削除できます。各プロジェクトには名前、開始日、投資額を含めることができます。
- 投資記録管理: ユーザーは、投資日、投資金額、投資プロジェクトなどの各投資行動を記録できます。
- 投資統計とレポート: ユーザーは自分の投資統計を表示し、レポートを生成できます。
2. 開発環境の準備
開発を開始する前に、開発環境を準備する必要があります。この記事では、MySQL データベースと Python プログラミング言語を使用して開発環境を構築します。
- MySQL データベースをインストールし、新しいデータベースを作成します。
- Python プログラミング環境をインストールし、MySQL 接続ライブラリ (pymysql など) をインストールします。
3. データベース設計
次に、システム データを保存するデータベース テーブル構造を設計する必要があります。この記事では、ユーザー テーブル、プロジェクト テーブル、投資記録テーブルの 3 つのデータ テーブルを設計します。
- ユーザー テーブル (ユーザー) には、ユーザー ID、ユーザー名、パスワードなどのフィールドが含まれます。
- プロジェクト テーブル (プロジェクト) には、プロジェクト ID、プロジェクト名、開始日、投資額などのフィールドが含まれます。
- 投資記録テーブル (投資) には、記録 ID、投資日、投資金額、投資プロジェクト ID、ユーザー ID などのフィールドが含まれます。
4. システム開発
開発の前に、pymysql、flask などの必要なライブラリとモジュールをインポートする必要があります。
- Python ファイルを作成し、必要なライブラリとモジュールをインポートします。
-
データベース接続とカーソル オブジェクトを定義します。
import pymysql connection = pymysql.connect(host='localhost', user='root', password='password', database='investments') cursor = connection.cursor()
ログイン後にコピー ユーザー登録およびログイン機能を作成します。
# 用户注册 @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'))
ログイン後にコピープロジェクト管理機能を作成します。
# 创建项目 @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'))
ログイン後にコピー投資記録管理機能を作成します。
# 创建投资记录 @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'))
ログイン後にコピー投資統計とレポート機能を作成します。
# 投资统计 @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)
ログイン後にコピーシステムを実行します。
if __name__ == '__main__': app.secret_key = 'secret_key' app.run(debug=True)
ログイン後にコピー
5. 概要
この記事では、MySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法を簡単に紹介し、関連するコード例を示します。このシステムは、投資家がプロジェクト管理、投資記録管理、投資統計とレポートなどを含む投資をより適切に管理および追跡するのに役立ちます。開発者は独自のニーズに応じてシステムをさらに改良し、実際の投資管理に適用できます。
以上がMySQL と Python を使用してシンプルなオンライン投資管理システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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