二、编程题 在mysql的数据库中创建一个学生信息表student 它包括的字段及 数据类型如表12-1所示。 表12-1学生信息表包括的字段与数据类型 编写程序实现图12-26所示的功能。
时间: 2024-12-27 15:32:06 浏览: 11
在MySQL数据库中创建一个名为"student"的学生信息表,我们可以按照表12-1中的描述来设计表结构。以下是SQL创建表的命令:
```sql
CREATE TABLE student (
id INT AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
age INT,
gender ENUM('Male', 'Female'),
major VARCHAR(50),
PRIMARY KEY (id)
);
```
在这个表中:
- `id` 是主键,自动递增整数类型,用于唯一标识每个学生。
- `name` 是学生的姓名,长度限制为100字符,不能为空。
- `age` 是学生的年龄,可以为空。
- `gender` 是枚举类型,可以选择男性(Male)或女性(Female),表示性别。
- `major` 是学生的专业,长度限制为50字符。
现在,你需要编写一个程序来实现图12-26所示的功能,这通常涉及到数据库连接、执行SQL查询或插入等操作。如果你使用的是像Python的pymysql这样的库,可以参考以下示例代码(这里仅提供一个基本框架,具体功能需要你自己填充):
```python
import pymysql
# 连接到数据库
db = pymysql.connect(host="your_host", user="your_username", password="your_password", db="your_database")
try:
# 创建游标对象
cursor = db.cursor()
# 插入新学生信息(假设有一个函数get_student_info()获取用户输入)
def insert_student():
name = get_student_info('Name:')
age = get_student_info('Age:')
gender = get_student_info('Gender:')
major = get_student_info('Major:')
sql = f"INSERT INTO student (name, age, gender, major) VALUES ('{name}', {age}, '{gender}', '{major}')"
cursor.execute(sql)
db.commit()
print("Student information inserted successfully.")
# 执行其他查询操作...
# 查询所有学生信息
def fetch_students():
sql = "SELECT * FROM student"
cursor.execute(sql)
students = cursor.fetchall()
for student in students:
print(student)
finally:
# 关闭数据库连接
db.close()
# 调用相关函数实现图12-26的功能
insert_student()
fetch_students()
```
阅读全文