基于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数据库,并执行添加、显示和删除学生记录的操作。
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!
标签:研究生管理

