Mysql简单习题 主键和外键的创建

这是我今天写的关于Mysql的习题:
–1.学生表
Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别
–2.课程表
Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号
–3.教师表
Teacher(t_id,t_name) --教师编号,教师姓名
–4.成绩表
Score(sc_id,s_id,c_id,s_score) –分数id,学生编号,课程编号,分数

一:写出建库,建表语句,并且创建主外键关系

代码如下:
– 创建学校数据库
CREATE DATABASE IF NOT EXISTS school;
– 进入学校数据库
USE school;
– 创建学生信息表
CREATE TABLE IF NOT EXISTS student(
s_id INT NOT NULL PRIMARY KEY auto_increment COMMENT ‘学生编号’,
s_name VARCHAR(20) NOT NULL COMMENT ‘学生姓名’,
s_birth DATE NOT NULL COMMENT ‘学生出生年月’,
s_sex VARCHAR(20) NOT NULL COMMENT ‘学生性别’
);
– 创建教师表
CREATE TABLE IF NOT EXISTS teacher(
t_id INT NOT NULL PRIMARY KEY COMMENT ‘教师编号’,
t_name VARCHAR(30) COMMENT’教师姓名’
);
– 创建课程表
CREATE TABLE IF NOT EXISTS course(
c_id INT NOT NULL PRIMARY KEY COMMENT’课程编号’,
c_name VARCHAR(20) NOT NULL COMMENT ‘课程名称’,
t_id INT COMMENT’教师编号’,
– 将课程表中的t_id设置为教师表中的外键
CONSTRAINT fk_course_teacher FOREIGN KEY(t_id) REFERENCES teacher(t_id)
);
– 创建成绩表
CREATE TABLE IF NOT EXISTS score(
sc_id INT NOT NULL COMMENT’成绩分数id’,
s_id INT NOT NULL COMMENT’学生编号’,
c_id INT NOT NULL COMMENT’课程编号’,
s_score INT NOT NULL COMMENT’分数’,
– 将成绩表中的s_id设置为学生表的外键
CONSTRAINT fk_score_student FOREIGN KEY(s_id) REFERENCES student(s_id),
– 将成绩表中的c_id设置为课程表的外键
CONSTRAINT fk_score_course FOREIGN KEY(c_id) REFERENCES course(c_id)
);
– 将成绩表中的s_id设置为学生表的外键
– ALTER TABLE student ADD CONSTRAINT fk_student_score FOREIGN KEY (s_id) REFERENCES score(s_id);

你可能感兴趣的:(Mysql入门)