如何利用MySQL和Python開發一個簡單的線上課程管理系統
如何利用MySQL和Python開發一個簡單的線上課程管理系統
隨著線上教育的快速發展,課程管理系統在教育領域扮演著重要的角色。本文將介紹如何利用MySQL和Python開發一個簡單的線上課程管理系統,並提供一些程式碼範例。
一、專案概述
線上課程管理系統可以實現學生選課、教師管理課程、查看課程資訊等功能。本計畫的目標是建立一個能夠滿足基本需求的線上課程管理系統。
二、環境準備
- 安裝MySQL資料庫,並建立一個名為course_management的資料庫。
- 安裝Python,並安裝pymysql和flask函式庫。
pip install pymysql
pip install flask
#三、資料庫設計
在MySQL資料庫中建立以下兩張表格:
- #學生表( student)
欄位:學生ID(id)、姓名(name)、年級(grade)、專業(major) - 課程表(course)
欄位:課程ID(id)、課程名稱(name)、教師ID(teacher_id)、學分(credit)
四、Python程式碼範例
-
連接資料庫
import pymysql db = pymysql.connect(host="localhost", user="root", password="123456", database="course_management", charset="utf8") cursor = db.cursor()
登入後複製 查詢學生資訊
def get_student_info(student_id): sql = "SELECT * FROM student WHERE id = %s" cursor.execute(sql, (student_id,)) result = cursor.fetchone() return result
登入後複製查詢課程資訊
def get_course_info(course_id): sql = "SELECT * FROM course WHERE id = %s" cursor.execute(sql, (course_id,)) result = cursor.fetchone() return result
登入後複製學生選課
def select_course(student_id, course_id): sql = "INSERT INTO selected_course (student_id, course_id) VALUES (%s, %s)" try: cursor.execute(sql, (student_id, course_id)) db.commit() return True except Exception as e: db.rollback() return False
登入後複製#教師新增課程
def add_course(course_name, teacher_id, credit): sql = "INSERT INTO course (name, teacher_id, credit) VALUES (%s, %s, %s)" try: cursor.execute(sql, (course_name, teacher_id, credit)) db.commit() return True except Exception as e: db.rollback() return False
登入後複製
六、啟動Web伺服器
from flask import Flask, request, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/select_course', methods=['POST']) def select_course(): student_id = request.form.get('student_id') course_id = request.form.get('course_id') if select_course(student_id, course_id): return '选课成功' else: return '选课失败' @app.route('/add_course', methods=['POST']) def add_course(): course_name = request.form.get('course_name') teacher_id = request.form.get('teacher_id') credit = request.form.get('credit') if add_course(course_name, teacher_id, credit): return '新增课程成功' else: return '新增课程失败' if __name__ == '__main__': app.run()
七、網頁範本(index.html)
<!DOCTYPE html> <html> <head> <title>在线课程管理系统</title> </head> <body> <h2 id="学生选课">学生选课</h2> <form action="/select_course" method="post"> 学生ID:<input type="text" name="student_id"><br> 课程ID:<input type="text" name="course_id"><br> <input type="submit" value="确认选课"> </form> <h2 id="教师新增课程">教师新增课程</h2> <form action="/add_course" method="post"> 课程名称:<input type="text" name="course_name"><br> 教师ID:<input type="text" name="teacher_id"><br> 学分:<input type="text" name="credit"><br> <input type="submit" value="确认新增"> </form> </body> </html>
以上是一個簡單的線上課程管理系統的開發範例,透過MySQL儲存數據,並透過Python和Flask搭建Web伺服器。透過這個簡單的系統,學生可以選課,教師可以新增課程,實現了基本的課程管理功能。開發者可以根據需求進行擴展和優化。
以上是如何利用MySQL和Python開發一個簡單的線上課程管理系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

文章摘要:本文提供了詳細分步說明,指導讀者如何輕鬆安裝 Laravel 框架。 Laravel 是一個功能強大的 PHP 框架,它 упростил 和加快了 web 應用程序的開發過程。本教程涵蓋了從系統要求到配置數據庫和設置路由等各個方面的安裝過程。通過遵循這些步驟,讀者可以快速高效地為他們的 Laravel 項目打下堅實的基礎。

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框架的項...

安全地處理JSON中的函數和正則表達式在前端開發中,經常需要將JavaScript...
