


How to develop a simple online investment management system using MySQL and Python
How to use MySQL and Python to develop a simple online investment management system
Introduction:
With the continuous development of the Internet, more and more people are starting to Invest assets in various investments. For investors, an easy-to-use online investment management system can help them better manage and track their investments. This article will introduce how to use MySQL and Python to develop a simple online investment management system, and provide specific code examples.
1. System requirements analysis
Before starting development, we need to clarify the functional requirements of the system to be developed. A simple online investment management system should include the following functions:
- User registration and login: Users need to be able to register an account and log in to the system.
- Project management: Users can create, modify and delete investment projects. Each project can include a name, start date and investment amount.
- Investment record management: Users can record each investment behavior, including investment date, investment amount and invested projects.
- Investment statistics and reports: Users can view their own investment statistics and generate reports.
2. Development environment preparation
Before starting development, we need to prepare the development environment. This article will use the MySQL database and Python programming language to build a development environment.
- Install MySQL database and create a new database.
- Install the Python programming environment and install the MySQL connection library (such as pymysql).
3. Database design
Next, we need to design the database table structure to store the system data. This article will design three data tables: user table, project table and investment record table.
- The user table (users) includes fields such as user ID, user name and password.
- The project table (projects) includes fields such as project ID, project name, start date, and investment amount.
- The investment record table (investments) includes fields such as record ID, investment date, investment amount, invested project ID and user ID.
4. System Development
Before development, we need to import the required libraries and modules, such as pymysql, flask, etc.
- Create a Python file and import the required libraries and modules.
-
Define database connection and cursor objects.
import pymysql connection = pymysql.connect(host='localhost', user='root', password='password', database='investments') cursor = connection.cursor()
Copy after login Create user registration and login functions.
# 用户注册 @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'))
Copy after loginCreate project management functionality.
# 创建项目 @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'))
Copy after loginCreate investment record management functions.
# 创建投资记录 @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'))
Copy after loginCreate investment statistics and reporting functions.
# 投资统计 @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)
Copy after loginRun the system.
if __name__ == '__main__': app.secret_key = 'secret_key' app.run(debug=True)
Copy after login
5. Summary
This article briefly introduces how to use MySQL and Python to develop a simple online investment management system, and provides relevant code examples. This system can help investors better manage and track their investments, including project management, investment record management, investment statistics and reports, etc. Developers can further improve the system according to their own needs and apply it to actual investment management.
The above is the detailed content of How to develop a simple online investment management system using MySQL and Python. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Python excels in automation, scripting, and task management. 1) Automation: File backup is realized through standard libraries such as os and shutil. 2) Script writing: Use the psutil library to monitor system resources. 3) Task management: Use the schedule library to schedule tasks. Python's ease of use and rich library support makes it the preferred tool in these areas.

Golang is more suitable for high concurrency tasks, while Python has more advantages in flexibility. 1.Golang efficiently handles concurrency through goroutine and channel. 2. Python relies on threading and asyncio, which is affected by GIL, but provides multiple concurrency methods. The choice should be based on specific needs.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

Visual Studio Code (VSCode) is a cross-platform, open source and free code editor developed by Microsoft. It is known for its lightweight, scalability and support for a wide range of programming languages. To install VSCode, please visit the official website to download and run the installer. When using VSCode, you can create new projects, edit code, debug code, navigate projects, expand VSCode, and manage settings. VSCode is available for Windows, macOS, and Linux, supports multiple programming languages and provides various extensions through Marketplace. Its advantages include lightweight, scalability, extensive language support, rich features and version

The main differences between VS Code and PyCharm are: 1. Extensibility: VS Code is highly scalable and has a rich plug-in market, while PyCharm has wider functions by default; 2. Price: VS Code is free and open source, and PyCharm is paid for professional version; 3. User interface: VS Code is modern and friendly, and PyCharm is more complex; 4. Code navigation: VS Code is suitable for small projects, and PyCharm is more suitable for large projects; 5. Debugging: VS Code is basic, and PyCharm is more powerful; 6. Code refactoring: VS Code is basic, and PyCharm is richer; 7. Code

Depending on the specific needs and project size, choose the most suitable IDE: large projects (especially C#, C) and complex debugging: Visual Studio, which provides powerful debugging capabilities and perfect support for large projects. Small projects, rapid prototyping, low configuration machines: VS Code, lightweight, fast startup speed, low resource utilization, and extremely high scalability. Ultimately, by trying and experiencing VS Code and Visual Studio, you can find the best solution for you. You can even consider using both for the best results.

Golang and Python each have their own advantages: Golang is suitable for high performance and concurrent programming, while Python is suitable for data science and web development. Golang is known for its concurrency model and efficient performance, while Python is known for its concise syntax and rich library ecosystem.
