张教授: 李同学,我们学校需要一个数据管理平台来整合学生信息、课程安排和科研成果。你有什么想法?
李同学: 教授,我们可以使用Python结合SQLite数据库来实现这个功能。首先,我们需要设计数据库结构。
张教授: 好的,那具体怎么设计呢?
李同学: 我们可以创建三个主要表:`students`, `courses`, 和`research`。每个表都有相应的字段,比如学生的ID、姓名、专业等。
张教授: 那么,Python代码应该怎么写呢?
李同学: 这是创建数据库的基本代码:
import sqlite3 # 创建连接 conn = sqlite3.connect('university.db') cursor = conn.cursor() # 创建students表 cursor.execute(''' CREATE TABLE students ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, major TEXT NOT NULL ) ''') # 创建courses表 cursor.execute(''' CREATE TABLE courses ( id INTEGER PRIMARY KEY, course_name TEXT NOT NULL, department TEXT NOT NULL ) ''') # 创建research表 cursor.execute(''' CREATE TABLE research ( id INTEGER PRIMARY KEY, title TEXT NOT NULL, author_id INTEGER, FOREIGN KEY(author_id) REFERENCES students(id) ) ''') # 提交更改并关闭连接 conn.commit() conn.close()
张教授: 很好!接下来我们怎么添加数据呢?
李同学: 我们可以编写插入数据的函数。例如:
def add_student(name, major): conn = sqlite3.connect('university.db') cursor = conn.cursor() cursor.execute("INSERT INTO students (name, major) VALUES (?, ?)", (name, major)) conn.commit() conn.close() add_student('张三', '计算机科学')
张教授: 非常实用!那么查询数据呢?
李同学: 查询也很简单,比如查询所有学生的信息:
def list_students(): conn = sqlite3.connect('university.db') cursor = conn.cursor() cursor.execute("SELECT * FROM students") rows = cursor.fetchall() for row in rows: print(row) conn.close() list_students()
张教授: 太棒了!这样我们就有了一个基础的数据管理平台。
]]>