小明: 嘿,小红,听说你们学校正在建设‘数字校园’?这到底是个什么概念啊?
小红: 嗯,‘数字校园’就是利用信息技术整合学校的教学、科研、管理和生活服务等资源,让信息流通更高效。比如学生可以在线选课、查询成绩。
小明: 听起来很酷!那你们是如何实现这些功能的呢?
小红: 我们使用了一套基于MySQL的数据库系统来存储所有数据,然后编写了一些Python脚本来处理业务逻辑。
小明: 哦?能给我看看具体的代码吗?
小红: 当然可以。首先我们创建了一个简单的数据库结构:
CREATE DATABASE campus;
USE campus;
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
major VARCHAR(100)
);
CREATE TABLE courses (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
credits INT
);
]]>
小明: 看起来不错!接下来是如何添加学生记录的代码?
小红: 这是添加学生的Python代码片段:
import mysql.connector
def add_student(name, major):
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="campus"
)
cursor = conn.cursor()
query = "INSERT INTO students (name, major) VALUES (%s, %s)"
values = (name, major)
cursor.execute(query, values)
conn.commit()
print("Student added successfully.")
cursor.close()
conn.close()
# Example usage:
add_student("John Doe", "Computer Science")
]]>
小明: 很棒!那么如何查询某个学生的课程呢?
小红: 查询也很简单,我们可以这样实现:
def get_courses_by_student(student_id):
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="campus"
)
cursor = conn.cursor()
query = """
SELECT c.title FROM courses c
JOIN student_courses sc ON c.id = sc.course_id
WHERE sc.student_id = %s
"""
values = (student_id,)
cursor.execute(query, values)
results = cursor.fetchall()
print("Courses taken by the student:")
for row in results:
print(row[0])
cursor.close()
conn.close()
# Example usage:
get_courses_by_student(1)
]]>
小明: 太厉害了!这样的系统会让校园管理更加现代化。
小红: 是的,而且未来我们还可以继续扩展功能,比如增加在线考试、智能推荐课程等功能。