返回
数据库入门:手把手搭建学生-课程管理系统
后端
2023-09-26 19:26:58
数据库搭建指南:建立学生-课程管理系统的基本表结构
前言:
踏入数据库世界的激动人心的旅程!在这篇文章中,我们将亲自动手建立一个学生-课程管理系统数据库的基本表结构,让你从头开始体验数据库的魅力。
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. 常见问题解答:
- 我的 SQL 语句不起作用,怎么办? 检查语法,确保引号和分号都在正确的位置。
- 我无法连接到 MySQL,为什么? 检查你的用户名、密码和主机名是否正确。
- 如何查看表中的数据? 使用 SELECT 语句,例如:
SELECT * FROM student;
- 如何添加新记录? 使用 INSERT 语句,例如:
INSERT INTO student (name, age, gender) VALUES ('新学生', 20, '男');
- 如何删除记录? 使用 DELETE 语句,例如:
DELETE FROM student WHERE id = 5;
结论:
恭喜你!你现在已经掌握了建立学生-课程管理系统数据库基本表结构的基础知识。继续探索 MySQL 的强大功能,解锁数据库世界的更多可能!