使用sql server编写一个学生管理系统
时间: 2024-01-02 21:03:36 浏览: 79
好的,下面是一个简单的学生管理系统的 SQL Server 数据库设计:
**学生表(students)**
| 列名 | 数据类型 | 描述 |
| ---- | ---- | ---- |
| id | int | 学生编号,主键 |
| name | varchar(50) | 学生姓名 |
| gender | varchar(10) | 学生性别 |
| birthday | date | 学生生日 |
| address | varchar(200) | 学生地址 |
| phone | varchar(20) | 学生电话 |
**课程表(courses)**
| 列名 | 数据类型 | 描述 |
| ---- | ---- | ---- |
| id | int | 课程编号,主键 |
| name | varchar(50) | 课程名称 |
| teacher | varchar(50) | 授课教师 |
| credit | float | 学分 |
**成绩表(scores)**
| 列名 | 数据类型 | 描述 |
| ---- | ---- | ---- |
| id | int | 成绩编号,主键 |
| student_id | int | 学生编号,外键,关联学生表 |
| course_id | int | 课程编号,外键,关联课程表 |
| score | float | 成绩 |
以下是 SQL 代码,用于创建上述表格:
```sql
-- 创建学生表
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
gender VARCHAR(10),
birthday DATE,
address VARCHAR(200),
phone VARCHAR(20)
);
-- 创建课程表
CREATE TABLE courses (
id INT PRIMARY KEY,
name VARCHAR(50),
teacher VARCHAR(50),
credit FLOAT
);
-- 创建成绩表
CREATE TABLE scores (
id INT PRIMARY KEY,
student_id INT,
course_id INT,
score FLOAT,
FOREIGN KEY (student_id) REFERENCES students(id),
FOREIGN KEY (course_id) REFERENCES courses(id)
);
```
接下来是一些常用的 SQL 查询语句,用于查询和操作学生管理系统:
**查询所有学生的信息**
```sql
SELECT * FROM students;
```
**查询指定学生的信息**
```sql
SELECT * FROM students WHERE id = 1;
```
**查询所有课程的信息**
```sql
SELECT * FROM courses;
```
**查询指定课程的信息**
```sql
SELECT * FROM courses WHERE id = 1;
```
**查询指定学生的所有成绩**
```sql
SELECT scores.*, courses.name FROM scores
INNER JOIN courses ON scores.course_id = courses.id
WHERE scores.student_id = 1;
```
**添加一个学生**
```sql
INSERT INTO students (id, name, gender, birthday, address, phone)
VALUES (1, '张三', '男', '2000-01-01', '北京市海淀区', '13888888888');
```
**添加一个课程**
```sql
INSERT INTO courses (id, name, teacher, credit)
VALUES (1, '数学', '李老师', 3.0);
```
**添加学生的成绩**
```sql
INSERT INTO scores (id, student_id, course_id, score)
VALUES (1, 1, 1, 90.0);
```
**修改学生的信息**
```sql
UPDATE students SET name = '李四', gender = '女' WHERE id = 1;
```
**修改课程的信息**
```sql
UPDATE courses SET name = '英语', teacher = '王老师', credit = 2.5 WHERE id = 1;
```
**修改学生的成绩**
```sql
UPDATE scores SET score = 95.0 WHERE id = 1;
```
**删除一个学生**
```sql
DELETE FROM students WHERE id = 1;
```
**删除一个课程**
```sql
DELETE FROM courses WHERE id = 1;
```
**删除学生的成绩**
```sql
DELETE FROM scores WHERE id = 1;
```
以上是一个简单的学生管理系统的 SQL Server 数据库设计和操作示例,实际应用中可能需要更复杂的查询和操作。
阅读全文