MySQL查询每一门学科的成绩教程
作为一名经验丰富的开发者,我将向你介绍如何使用MySQL查询每一门学科的成绩。在本教程中,我将以表格的形式展示整个流程,并提供每一步所需的代码,并对这些代码进行注释。
整体流程
以下是查询每一门学科的成绩的整体流程:
| 步骤 | 描述 |
|---|---|
| 1. | 连接到MySQL数据库 |
| 2. | 创建学生表格 |
| 3. | 创建成绩表格 |
| 4. | 插入学生数据 |
| 5. | 插入成绩数据 |
| 6. | 查询每一门学科的成绩 |
现在我们来逐步学习每一个步骤。
步骤1:连接到MySQL数据库
首先,我们需要使用MySQL连接字符串连接到数据库。以下是一个示例代码:
import mysql.connector
# 连接到数据库
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='your_host', database='your_database')
请替换your_username、your_password、your_host和your_database为你自己的数据库信息。
步骤2:创建学生表格
接下来,我们需要创建一个学生表格,用于存储学生信息。以下是一个示例代码:
# 创建学生表格
cursor = cnx.cursor()
table_name = 'students'
create_table_query = '''
CREATE TABLE IF NOT EXISTS {} (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL
)
'''.format(table_name)
cursor.execute(create_table_query)
这段代码将创建一个名为students的表格,并定义了id、name、age和gender四个列。你可以根据自己的需求修改列名和数据类型。
步骤3:创建成绩表格
接下来,我们需要创建一个成绩表格,用于存储学生的成绩信息。以下是一个示例代码:
# 创建成绩表格
table_name = 'scores'
create_table_query = '''
CREATE TABLE IF NOT EXISTS {} (
id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT NOT NULL,
subject VARCHAR(50) NOT NULL,
score INT NOT NULL,
FOREIGN KEY (student_id) REFERENCES students(id)
)
'''.format(table_name)
cursor.execute(create_table_query)
这段代码将创建一个名为scores的表格,并定义了id、student_id、subject和score四个列。student_id列是外键,参考了students表格的id列。
步骤4:插入学生数据
现在,我们需要向学生表格中插入一些学生数据,以便进行查询。以下是一个示例代码:
# 插入学生数据
insert_data_query = '''
INSERT INTO students (name, age, gender)
VALUES ('John', 20, 'Male'),
('Jane', 22, 'Female'),
('David', 21, 'Male'),
('Emma', 20, 'Female')
'''
cursor.execute(insert_data_query)
# 提交更改
cnx.commit()
这段代码将向students表格中插入了四个学生数据,包括姓名、年龄和性别。
步骤5:插入成绩数据
接下来,我们需要向成绩表格中插入一些成绩数据,以便进行查询。以下是一个示例代码:
# 插入成绩数据
insert_data_query = '''
INSERT INTO scores (student_id, subject, score)
VALUES (1, 'Math', 90),
(1, 'English', 85),
(2, 'Math', 95),
(2, 'English', 80),
(3, 'Math', 75),
(3, 'English', 90),
(4, 'Math', 80),
(4, 'English', 95)
'''
cursor.execute(insert_data_query)
# 提交更改
cnx.commit()
这段代码将向scores表格中插入了八条成绩数据,包括学生ID、学科和分数。
















