编写python程序操作MySQL服务器,实现按“班级”或者“性别”查询学生信息的代码
时间: 2023-09-29 13:07:20 浏览: 83
python+mysql实现学生信息查询系统
好的,以下是一个简单的 Python 程序,用于从 MySQL 数据库中查询学生信息。这个程序可以根据班级或性别进行查询,可以根据实际情况进行修改。
首先,我们需要安装 PyMySQL 库,这是一个 Python 连接 MySQL 数据库的库。可以使用以下命令安装:
```
pip install PyMySQL
```
然后,我们需要连接到 MySQL 数据库。在程序中,我们需要指定数据库的主机名、用户名、密码和数据库名称。可以使用以下代码连接到数据库:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
db='students',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
```
在这里,我们连接到名为 `students` 的数据库。请确保已经创建了这个数据库,并且已经创建了一个名为 `students` 的表,其中包含以下列:`id`、`name`、`class` 和 `gender`。
接下来,我们可以编写一个函数,用于查询学生信息。根据传入的参数,这个函数可以按班级或性别查询学生信息。以下是这个函数的代码:
```python
def search_students_by_class_or_gender(keyword, search_type):
# 执行查询
if search_type == 'class':
sql = "SELECT * FROM students WHERE class=%s"
elif search_type == 'gender':
sql = "SELECT * FROM students WHERE gender=%s"
else:
raise ValueError('Invalid search type')
with conn.cursor() as cursor:
cursor.execute(sql, (keyword,))
result = cursor.fetchall()
# 输出查询结果
if len(result) == 0:
print(f'No students found for {search_type} {keyword}')
else:
for student in result:
print(f'{student["id"]}\t{student["name"]}\t{student["class"]}\t{student["gender"]}')
```
在这个函数中,首先根据传入的参数确定查询类型,然后构造 SQL 查询语句。在执行查询之后,我们可以使用 `cursor.fetchall()` 方法获取查询结果。最后,我们可以将查询结果输出到控制台。
使用这个函数,我们可以按以下方式查询学生信息:
```python
# 按班级查询
search_students_by_class_or_gender('1班', 'class')
# 按性别查询
search_students_by_class_or_gender('男', 'gender')
```
这个程序可以根据实际情况进行修改,例如可以添加更多的查询条件。
阅读全文