mysql的第一次作业



    -- 第一题
    CREATE TABLE t_hire(
    	序号 INT PRIMARY KEY AUTO_INCREMENT ,
    	姓名 VARCHAR(100),		-- 姓名
    	性别 CHAR(2),		-- 性别
    	生日 DATETIME ,	-- 生日
    	学历 VARCHAR(10),	-- 学历
    	毕业学校 VARCHAR(50),	-- 毕业学校
    	专业 VARCHAR(50),		-- 专业
    	毕业时间 DATETIME,	-- 毕业时间
    	电话号码 VARCHAR(50),	-- 电话号码
    	月薪 INT DEFAULT 5000, -- 月薪
    	住房补贴 NUMERIC(10,2),	-- 住房补贴
    	特长 VARCHAR(2000)	-- 特长
    );
    -- 查看t_hire表
    SELECT * FROM t_hire
    -- 删除 t_hire
    DROP TABLE t_hire;

效果展示

在这里插入图片描述

 --  第二题
    CREATE TABLE t_class(
    	class_id INT PRIMARY KEY,
    	NAME VARCHAR(20)
    );
    
    -- 删除数据库类
    DROP TABLE t_class;
    
    
    -- 创建数据库表
    CREATE TABLE t_shujuku(
    	列名 VARCHAR(50),
    	数据类型 VARCHAR(50),
    	非空 VARCHAR(6),
    	主键 VARCHAR(6),
    	备注 VARCHAR(100),
    		
    	表名 VARCHAR(20) NOT NULL, -- 属于哪个表格里的
    	CONSTRAINT fid_fk FOREIGN KEY (表名) REFERENCES t_Class(class_id)
    );
    
    -- 删除t_shujuku表
    DROP TABLE t_shujuku;
    
    -- 查询t_shujuku表
    SELECT * FROM t_shujuku;
    -- 表格一
    CREATE TABLE Professor(
    	professorID INT PRIMARY KEY,
    	NAME VARCHAR(50) NOT NULL  -- 教授姓名
    );
    
    -- 表格二
    CREATE TABLE Course(
    	CourseID INT PRIMARY KEY,
    	NAME VARCHAR (50), -- 课程名称
    	Credits INT  -- 学分
    );
    
    -- 表格三
    CREATE TABLE Room(
    	RoomID INT NOT NULL PRIMARY KEY,
    	Comments VARCHAR(50) ,-- 教室名称
    	Capacity INT -- 教师可以容纳的人数
    	
    );
    
    -- 表格四
    CREATE TABLE Class(
    	ClassID INT NOT NULL PRIMARY KEY ,
    	CourseID INT NOT NULL ,
    	ProfessorID INT NOT NULL ,
    	RoomID INT NOT NULL ,
    	TIME VARCHAR(50) ,-- 上课时间段
    	CONSTRAINT CourseID_fk FOREIGN KEY (CourseID) REFERENCES Course(CourseID),
    	CONSTRAINT Professor_fk FOREIGN KEY (ProfessorID) REFERENCES Professor(ProfessorID),
    	CONSTRAINT Room_fk FOREIGN KEY (RoomID) REFERENCES Room(RoomID)
    );
    -- 表格五
    CREATE TABLE Student(
    	StudentID INT NOT NULL PRIMARY KEY ,
    	NAME VARCHAR(50) -- 学生姓名
    );
    
    -- 表格六
    CREATE TABLE Exam(
    	ExamID INT NOT NULL PRIMARY KEY,
    	CourseID INT NOT NULL , -- 外键,来自于Course表
    	ProfessorID INT NOT NULL , -- 外键,来自于Professor表
    	SustainedOn DATETIME , -- 考试时间
    	Comments VARCHAR(255) , -- 本次考试说明
    	
    	
    	CONSTRAINT Course_fk FOREIGN KEY (CourseID) REFERENCES Course(CourseID),
    	CONSTRAINT Professor1_fk FOREIGN KEY (ProfessorID) REFERENCES Professor(ProfessorID)
    );
    
    -- 表格七
    CREATE TABLE Enrollment(
    	EnrollmentID INT NOT NULL PRIMARY KEY ,
    	StudentID INT NOT NULL , -- 外键,来自于Student表
    	ClassID INT NOT NULL ,	-- 外键,来自于Class表
    	EnrolledOn DATETIME , -- 学生参加班级时间
    	Grade INT , -- 班级得分
    	
    	CONSTRAINT Student_fk FOREIGN KEY (StudentID) REFERENCES Student(StudentID),
    	CONSTRAINT Class_fk FOREIGN KEY (ClassID) REFERENCES Class(ClassID)
    );
    
    -- 表格八
    CREATE TABLE StudentExam(
    	StudentID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    	ExamID INT NOT NULL UNIQUE, -- 设置唯一约束
    	Mark INT NOT NULL , -- 课程考试分数
    	
    	Ifpassed DATETIME , -- 是否通过考试
    	Comments VARCHAR(255),  -- 考试情况评价
    	
    	CONSTRAINT StudentID_fk FOREIGN KEY (StudentID) REFERENCES Student(StudentID),
    	CONSTRAINT ExamID_fk FOREIGN KEY (ExamID) REFERENCES Exam(ExamID)
    );
    
    -- 删除StudentExam表
    DROP TABLE StudentExam;

效果图

在这里插入图片描述


    -- 第三题
    -- 新建数据库
    CREATE DATABASE stu_db;
    
    CREATE TABLE student1(
    	studentNum INT NOT NULL PRIMARY KEY , -- 学号
    	NAME VARCHAR(100) , 		      -- 姓名
    	major VARCHAR(100) ,		      -- 专业
    	age NUMERIC(3),			      -- 年龄
    	lang NUMERIC(5,2) ,-- 小数型9.99      语文
    	math NUMERIC(5,2), -- 小数型          数学
    	English NUMERIC(5,2) -- 小数型        英语
    );
    -- 查看表的内容
    SELECT *  FROM student1;

效果图

在这里插入图片描述

发布了7 篇原创文章 · 获赞 0 · 访问量 124

猜你喜欢

转载自blog.csdn.net/winwinwin99/article/details/99708357