1、 创建数据库studentInfo,包含如下表,创建这些表并按要求定义约束:
时间: 2024-06-11 17:08:11 浏览: 138
表1:学生信息表(student)
| 字段名 | 数据类型 | 约束 | 说明 |
| --------- | --------- | ------ | ------ |
| id | int | 主键、自增 | 学生ID |
| name | varchar | 非空 | 学生姓名 |
| gender | varchar | 非空 | 学生性别 |
| age | int | 非空 | 学生年龄 |
| birthday | date | 非空 | 学生生日 |
| address | varchar | 非空 | 学生地址 |
表2:课程信息表(course)
| 字段名 | 数据类型 | 约束 | 说明 |
| --------- | --------- | ------ | ------ |
| id | int | 主键、自增 | 课程ID |
| name | varchar | 非空 | 课程名称 |
| credit | int | 非空 | 学分 |
表3:成绩信息表(score)
| 字段名 | 数据类型 | 约束 | 说明 |
| --------- | --------- | ------ | ------ |
| id | int | 主键、自增 | 成绩ID |
| student_id| int | 非空、外键 | 学生ID |
| course_id | int | 非空、外键 | 课程ID |
| score | int | 非空 | 成绩 |
创建表的SQL语句如下:
-- 创建学生信息表
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
gender VARCHAR(10) NOT NULL,
age INT NOT NULL,
birthday DATE NOT NULL,
address VARCHAR(50) NOT NULL
);
-- 创建课程信息表
CREATE TABLE course (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
credit INT NOT NULL
);
-- 创建成绩信息表
CREATE TABLE score (
id INT PRIMARY KEY AUTO_INCREMENT,
student_id INT NOT NULL,
course_id INT NOT NULL,
score INT NOT NULL,
CONSTRAINT fk_student
FOREIGN KEY (student_id)
REFERENCES student(id),
CONSTRAINT fk_course
FOREIGN KEY (course_id)
REFERENCES course(id)
);
以上SQL语句中,使用了主键、外键、非空约束和自增约束。其中,学生信息表和课程信息表的主键都是自增的,成绩信息表的主键、学生ID和课程ID都是自增的,而学生ID和课程ID又分别是学生信息表和课程信息表的外键。这些约束可以保证数据的完整性和一致性。
阅读全文