基于Python的研究生管理系统设计与实现
2024-10-29 06:06
# 基于Python的研究生管理系统设计与实现
在本篇文章中,我们将探讨如何使用Python和SQLite数据库来构建一个简单的研究生管理系统。该系统将允许用户添加、删除和查询研究生的信息。
## 系统设计概述
本系统的主要功能包括:
- 添加研究生信息
- 删除研究生信息
- 查询研究生信息
- 显示所有研究生信息
## 技术栈
- **Python**: 主要编程语言。
- **SQLite**: 轻量级关系型数据库,用于存储研究生信息。
## 数据库设计
我们将创建一个名为`students.db`的SQLite数据库,并在其中定义一个表`student_info`,用于存储研究生信息。表结构如下:
CREATE TABLE student_info ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL, major TEXT NOT NULL );
## Python代码实现
首先,我们需要导入必要的库:
import sqlite3 from sqlite3 import Error
接着,我们定义一个函数来建立数据库连接:
def create_connection(): conn = None; try: conn = sqlite3.connect('students.db') print(f"成功连接到SQLite数据库,版本号为{sqlite3.version}") except Error as e: print(e) return conn
创建数据库后,我们需要创建表:
def create_table(conn): try: c = conn.cursor() c.execute('''CREATE TABLE IF NOT EXISTS student_info (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL, major TEXT NOT NULL)''') print("Table created successfully") except Error as e: print(e)
接下来,定义函数来执行添加、删除、查询等操作:
def add_student(conn, student): sql = '''INSERT INTO student_info(name,age,major) VALUES(?,?,?)''' cur = conn.cursor() cur.execute(sql, student) conn.commit() return cur.lastrowid def delete_student(conn, id): sql = 'DELETE FROM student_info WHERE id=?' cur = conn.cursor() cur.execute(sql, (id,)) conn.commit() def select_all_students(conn): cur = conn.cursor() cur.execute("SELECT * FROM student_info") rows = cur.fetchall() for row in rows: print(row) def main(): database = "students.db" conn = create_connection(database) with conn: create_table(conn) student = ('张三', 23, '计算机科学') student_id = add_student(conn, student) print(f"Added student with ID: {student_id}") select_all_students(conn) delete_student(conn, student_id) select_all_students(conn) if __name__ == '__main__': main()
运行上述代码,将创建一个名为`students.db`的SQLite数据库,并执行添加、显示和删除学生记录的操作。
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!
标签:研究生管理