返回

数据库入门:手把手搭建学生-课程管理系统

后端

数据库搭建指南:建立学生-课程管理系统的基本表结构

前言:

踏入数据库世界的激动人心的旅程!在这篇文章中,我们将亲自动手建立一个学生-课程管理系统数据库的基本表结构,让你从头开始体验数据库的魅力。

1. 准备就绪:

  • 安装 MySQL 数据库: 如果没有,前往官方网站下载并安装 MySQL 数据库。
  • 新建 SQL 文件: 使用文本编辑器创建名为 student.sql 的文件,我们将在此文件中编写创建数据库表的 SQL 语句。

2. 建立学生表:

CREATE TABLE student (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT NOT NULL,
  gender CHAR(1) NOT NULL,
  PRIMARY KEY (id)
);

代码说明:

  • id:学生的唯一标识符,自动递增。
  • name:学生的姓名。
  • age:学生的年龄。
  • gender:学生的性别(男/女)。
  • PRIMARY KEY (id):将 id 列指定为表的主键,确保每个学生的 id 都是唯一的。

3. 建立课程表:

CREATE TABLE course (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  description TEXT,
  PRIMARY KEY (id)
);

代码说明:

  • id:课程的唯一标识符,自动递增。
  • name:课程的名称。
  • description:课程的。
  • PRIMARY KEY (id):将 id 列指定为表的主键,确保每门课程的 id 都是唯一的。

4. 建立学生-课程关系表:

CREATE TABLE student_course (
  student_id INT NOT NULL,
  course_id INT NOT NULL,
  PRIMARY KEY (student_id, course_id),
  FOREIGN KEY (student_id) REFERENCES student(id),
  FOREIGN KEY (course_id) REFERENCES course(id)
);

代码说明:

  • student_id:引用 student 表中学生的 id。
  • course_id:引用 course 表中课程的 id。
  • PRIMARY KEY (student_id, course_id):将 student_id 和 course_id 列指定为复合主键,确保学生和课程之间的关系是唯一的。
  • FOREIGN KEY 约束:确保 student_id 和 course_id 列的值分别在 student 和 course 表中存在,保持数据的一致性。

5. 插入数据:

学生表:

INSERT INTO student (name, age, gender) VALUES ('张三', 18, '男');
INSERT INTO student (name, age, gender) VALUES ('李四', 19, '女');
INSERT INTO student (name, age, gender) VALUES ('王五', 20, '男');

课程表:

INSERT INTO course (name, description) VALUES ('数学', '这是数学课程的');
INSERT INTO course (name, description) VALUES ('英语', '这是英语课程的');
INSERT INTO course (name, description) VALUES ('计算机科学', '这是计算机科学课程的');

学生-课程关系表:

INSERT INTO student_course (student_id, course_id) VALUES (1, 1);
INSERT INTO student_course (student_id, course_id) VALUES (1, 2);
INSERT INTO student_course (student_id, course_id) VALUES (2, 1);
INSERT INTO student_course (student_id, course_id) VALUES (2, 3);
INSERT INTO student_course (student_id, course_id) VALUES (3, 2);
INSERT INTO student_course (student_id, course_id) VALUES (3, 3);

6. 外键约束:

外键约束确保学生-课程关系表中的学生 id 和课程 id 在各自的主表(student 和 course)中存在,从而维护数据的完整性。

7. 常见问题解答:

  1. 我的 SQL 语句不起作用,怎么办? 检查语法,确保引号和分号都在正确的位置。
  2. 我无法连接到 MySQL,为什么? 检查你的用户名、密码和主机名是否正确。
  3. 如何查看表中的数据? 使用 SELECT 语句,例如:SELECT * FROM student;
  4. 如何添加新记录? 使用 INSERT 语句,例如:INSERT INTO student (name, age, gender) VALUES ('新学生', 20, '男');
  5. 如何删除记录? 使用 DELETE 语句,例如:DELETE FROM student WHERE id = 5;

结论:

恭喜你!你现在已经掌握了建立学生-课程管理系统数据库基本表结构的基础知识。继续探索 MySQL 的强大功能,解锁数据库世界的更多可能!