构建基于校园环境的研究生信息管理系统
小明: 嗨,小华,我最近在做一个研究生信息管理系统,想听听你的建议。
小华: 哇,听起来挺有趣的!你打算用什么技术栈呢?
小明: 我打算使用Python作为后端语言,MySQL作为数据库。你觉得怎么样?
小华: 很好!这样可以充分利用Python的强大功能和MySQL的高效存储能力。你已经开始设计数据库了吗?
小明: 是的,我已经设计好了。我们先定义几个关键表:学生表(students)、课程表(courses)和成绩表(grades)。每个表都有它们自己的属性。
小华: 这个设计不错。那我们来写一些基础的代码吧。首先,我们需要安装Python的MySQL连接库,比如`mysql-connector-python`。
pip install mysql-connector-python
小明: 好的,安装完成。接下来,我们需要编写连接数据库的代码。
import mysql.connector
def connect_db():
db = mysql.connector.connect(
host="localhost",
user="root",
password="yourpassword",
database="grad_student"
)
return db
小华: 然后我们可以创建数据库和表了。
def create_tables(db):
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT, major VARCHAR(255))")
cursor.execute("CREATE TABLE IF NOT EXISTS courses (id INT AUTO_INCREMENT PRIMARY KEY, course_name VARCHAR(255), credits INT)")
cursor.execute("CREATE TABLE IF NOT EXISTS grades (student_id INT, course_id INT, grade FLOAT, FOREIGN KEY (student_id) REFERENCES students(id), FOREIGN KEY (course_id) REFERENCES courses(id))")
db.commit()
小明: 非常棒!现在我们有了基本的框架。下一步我们可以添加一些数据到这些表里。
def insert_data(db):
cursor = db.cursor()
cursor.executemany("INSERT INTO students (name, age, major) VALUES (%s, %s, %s)", [("张三", 23, "计算机科学"), ("李四", 24, "软件工程")])
cursor.executemany("INSERT INTO courses (course_name, credits) VALUES (%s, %s)", [("数据结构", 4), ("算法设计", 3)])
cursor.executemany("INSERT INTO grades (student_id, course_id, grade) VALUES (%s, %s, %s)", [(1, 1, 90), (2, 2, 85)])
db.commit()
小华: 太棒了,现在我们有了一个可以运行的基础版本。你可以继续扩展功能,比如查询和更新操作。
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!