编写一个程序,设计学生选课系统的数据库表结构。
输入:
无
输出:
创建学生表、课程表、选课表的SQL语句
要求:
1. 使用sqlite3创建数据库连接
2. 设计合理的表结构和字段类型
3. 设置适当的主键约束
import sqlite3
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
# 创建学生表
cursor.execute('''
CREATE TABLE students (
student_id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
gender TEXT,
class_name TEXT,
enrollment_date DATE
)
''')
# 创建课程表
cursor.execute('''
CREATE TABLE courses (
course_id INTEGER PRIMARY KEY,
course_name TEXT NOT NULL,
credit REAL,
teacher TEXT
)
''')
# 创建选课表
cursor.execute('''
CREATE TABLE enrollments (
student_id INTEGER,
course_id INTEGER,
score REAL,
enrollment_time DATETIME,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES students(student_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
)
''')
conn.commit()
print("数据库表创建成功!")
conn.close()