python使用mysqldb创建一个数据库存储学生成绩创建学生成绩表 1、学生id(自增,且是主健);2、学号 3、姓名4、专业 5、学科名称6、成绩 插入3名学生 更其中一个学生的成绩册删除其中两位学生l功能封装成一个类
时间: 2023-12-14 08:05:09 浏览: 73
以下是一个使用 MySQLdb 模块创建学生成绩数据库的示例代码,其中包括创建表、插入数据、删除数据等操作,并将它们封装在一个类中:
```python
import MySQLdb
class ScoreDB:
def __init__(self, host, user, passwd, db):
self.conn = MySQLdb.connect(host=host, user=user, passwd=passwd, db=db)
self.cursor = self.conn.cursor()
# 创建学生成绩表
self.cursor.execute('''CREATE TABLE IF NOT EXISTS score (
id INT AUTO_INCREMENT PRIMARY KEY,
student_no VARCHAR(20),
name VARCHAR(20),
major VARCHAR(20),
subject VARCHAR(20),
score INT
)''')
def insert_score(self, student_no, name, major, subject, score):
# 插入学生成绩数据
sql = "INSERT INTO score (student_no, name, major, subject, score) VALUES (%s, %s, %s, %s, %s)"
self.cursor.execute(sql, (student_no, name, major, subject, score))
self.conn.commit()
def delete_score(self, id):
# 根据id删除学生成绩数据
sql = "DELETE FROM score WHERE id = %s"
self.cursor.execute(sql, (id,))
self.conn.commit()
def delete_all(self):
# 删除所有学生成绩数据
sql = "DELETE FROM score"
self.cursor.execute(sql)
self.conn.commit()
def close(self):
# 关闭数据库连接
self.cursor.close()
self.conn.close()
```
你可以按照以下步骤使用该类:
```python
# 创建 ScoreDB 对象
score_db = ScoreDB('localhost', 'root', 'password', 'score_db')
# 插入3名学生的成绩
score_db.insert_score('20191001', '张三', '计算机科学与技术', '高等数学', 80)
score_db.insert_score('20191002', '李四', '软件工程', '数据结构', 90)
score_db.insert_score('20191003', '王五', '信息安全', '计算机网络', 85)
# 删除其中两位学生的成绩
score_db.delete_score(1)
score_db.delete_score(3)
# 关闭数据库连接
score_db.close()
```
这样就完成了一个简单的学生成绩数据库的创建、数据插入和删除的操作。当然,你可以根据需要对该类进行扩展,添加更多的操作方法。
阅读全文