利用SQL定义学生、课程和选课表,并插入数据。
时间: 2024-09-10 20:06:13 浏览: 66
在SQL中,我们首先需要定义学生、课程和选课这三个表的结构,这可以通过使用CREATE TABLE语句来实现。每个表都会有一系列的字段,用于存储相关信息。下面是一个简单的例子:
```sql
-- 创建学生表
CREATE TABLE Students (
StudentID INT PRIMARY KEY AUTO_INCREMENT,
StudentName VARCHAR(50) NOT NULL,
Age INT,
Gender CHAR(1) CHECK (Gender IN ('M', 'F'))
);
-- 创建课程表
CREATE TABLE Courses (
CourseID INT PRIMARY KEY AUTO_INCREMENT,
CourseName VARCHAR(100) NOT NULL,
Credits INT CHECK (Credits > 0)
);
-- 创建选课表
CREATE TABLE Enrollments (
EnrollmentID INT PRIMARY KEY AUTO_INCREMENT,
StudentID INT,
CourseID INT,
Grade DECIMAL(3, 1),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
```
以上SQL语句创建了三个表:Students、Courses和Enrollments。Students表用于存储学生信息,Courses表用于存储课程信息,Enrollments表则是一个关联表,用于存储学生和课程之间的选课关系,它通过外键引用了Students表和Courses表。
接下来,我们可以在这些表中插入数据:
```sql
-- 插入学生数据
INSERT INTO Students (StudentName, Age, Gender) VALUES
('张三', 20, 'M'),
('李四', 19, 'F');
-- 插入课程数据
INSERT INTO Courses (CourseName, Credits) VALUES
('计算机科学导论', 4),
('线性代数', 3);
-- 插入选课数据
INSERT INTO Enrollments (StudentID, CourseID, Grade) VALUES
(1, 1, 92.5),
(2, 2, 88.0);
```
请注意,当你插入数据时,你需要确保外键约束得到满足,即在Enrollments表中插入的StudentID和CourseID必须在Students表和Courses表中存在。
阅读全文