某学生管理系统的数据库包含如下关系: 学生表:Student(学号、姓名、性别、班级、专业、系号) 课程表:Course(课程号,课程名,学分,学时) 选课表:Study(学生号,课程号,成绩) 系表:Dept(系号,系名,电话) 实现下列操作: 1.使用SQL语句建立系表,系号为主键,系名不能为空值,数据类型及宽度自定义。 2.使用SQL语句将在系表中插入一条记录,系号为”06”,系名为“新闻系”,电话为“26610668”。 3.使用SQL语句查询男学生的信息。 4.使用SQL语句查询“王明”同学的“网络数据库管理及应用”课程的成绩,显示姓名,课程名,成绩。
时间: 2023-12-12 21:02:16 浏览: 305
好的,以下是你想要的答案:
1. 建立系表的SQL语句:
```
CREATE TABLE Dept (
系号 VARCHAR(20) PRIMARY KEY,
系名 VARCHAR(50) NOT NULL,
电话 VARCHAR(20)
);
```
2. 插入一条记录的SQL语句:
```
INSERT INTO Dept (系号, 系名, 电话)
VALUES ('06', '新闻系', '26610668');
```
3. 查询男学生信息的SQL语句:
```
SELECT 学号, 姓名, 性别, 班级, 专业, 系号
FROM Student
WHERE 性别 = '男';
```
4. 查询“王明”同学“网络数据库管理及应用”课程成绩的SQL语句:
```
SELECT Student.姓名, Course.课程名, Study.成绩
FROM Student, Course, Study
WHERE Student.学号 = Study.学生号
AND Course.课程号 = Study.课程号
AND Student.姓名 = '王明'
AND Course.课程名 = '网络数据库管理及应用';
```
相关问题
生成学生信息管理系统数据库MySQL代码按照以下表求学生表(Student):包含学生的基本信息,如学号、姓名、性别、出生日期等。 教师表(Teacher):包含教师的基本信息,如教师编号、姓名、性别、出生日期等。 课程表(Course):包含课程的基本信息,如课程编号、课程名称、学分、学时等。 班级表(Class):包含班级的基本信息,如班级编号、班级名称、年级、专业等。 选课表(SelectCourse):记录学生选课的情况,包括学生编号、课程编号、选课时间等。 授课表(TeachCourse):记录教师授课的情况,包括教师编号、课程编号、授课时间等。 学生班级关系表(StudentClass):记录学生所在班级的情况,包括学生编号、班级编号、入学时间等。 教师班级关系表(TeacherClass):记录教师所教班级的情况,包括教师编号、班级编号、授课时间等。 学生成绩表(Score):记录学生的课程成绩,包括学生编号、课程编号、成绩等。 班级成绩表(ClassScore):记录班级的课程成绩,包括班级编号、课程编号、平均成绩等。
以下是一个可能的MySQL代码,可以创建上述10个表:
```sql
-- 创建学生表(Student)
CREATE TABLE Student (
student_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender ENUM('Male', 'Female') NOT NULL,
birthdate DATE NOT NULL
);
-- 创建教师表(Teacher)
CREATE TABLE Teacher (
teacher_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender ENUM('Male', 'Female') NOT NULL,
birthdate DATE NOT NULL
);
-- 创建课程表(Course)
CREATE TABLE Course (
course_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
credits INT NOT NULL,
hours INT NOT NULL
);
-- 创建班级表(Class)
CREATE TABLE Class (
class_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
grade INT NOT NULL,
major VARCHAR(50) NOT NULL
);
-- 创建选课表(SelectCourse)
CREATE TABLE SelectCourse (
student_id INT,
course_id INT,
select_time DATETIME NOT NULL,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES Student(student_id),
FOREIGN KEY (course_id) REFERENCES Course(course_id)
);
-- 创建授课表(TeachCourse)
CREATE TABLE TeachCourse (
teacher_id INT,
course_id INT,
teach_time DATETIME NOT NULL,
PRIMARY KEY (teacher_id, course_id),
FOREIGN KEY (teacher_id) REFERENCES Teacher(teacher_id),
FOREIGN KEY (course_id) REFERENCES Course(course_id)
);
-- 创建学生班级关系表(StudentClass)
CREATE TABLE StudentClass (
student_id INT,
class_id INT,
enroll_time DATETIME NOT NULL,
PRIMARY KEY (student_id, class_id),
FOREIGN KEY (student_id) REFERENCES Student(student_id),
FOREIGN KEY (class_id) REFERENCES Class(class_id)
);
-- 创建教师班级关系表(TeacherClass)
CREATE TABLE TeacherClass (
teacher_id INT,
class_id INT,
teach_time DATETIME NOT NULL,
PRIMARY KEY (teacher_id, class_id),
FOREIGN KEY (teacher_id) REFERENCES Teacher(teacher_id),
FOREIGN KEY (class_id) REFERENCES Class(class_id)
);
-- 创建学生成绩表(Score)
CREATE TABLE Score (
student_id INT,
course_id INT,
score INT NOT NULL,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES Student(student_id),
FOREIGN KEY (course_id) REFERENCES Course(course_id)
);
-- 创建班级成绩表(ClassScore)
CREATE TABLE ClassScore (
class_id INT,
course_id INT,
avg_score FLOAT NOT NULL,
PRIMARY KEY (class_id, course_id),
FOREIGN KEY (class_id) REFERENCES Class(class_id),
FOREIGN KEY (course_id) REFERENCES Course(course_id)
);
```
请注意,此代码仅供参考,具体实现方式可能因具体需求而异。
一、创建数据库和数据表 1. 创建一个名为"ZLWstu_management"的数据库。 2. 在该数据库中创建以下数据表: 表名: 学生表(student) - 字段: - 学号(sid):整数类型,主键 - 姓名(name):字符串类型 - 年龄(age):整数类型 - 性别(gender):字符串类型 - 班级(class):字符串类型 表名: 课程表(course) - 字段: - 课程号(cid):整数类型,主键 - 课程名称(name):字符串类型 - 授课教师(teacher):字符串类型 表名: 学生选课表(student_course) - 字段: - 学生学号(sid):整数类型,外键,引用自学生表的学号字段 - 课程号(cid):整数类型,外键,引用自课程表的课程号字段 - 分数(score):整数类型 表名: 班级表(class) - 字段: - 班级代码(class_code):字符串类型,主键 - 班级名称(class_name):字符串类型 - 班主任(teacher):字符串类型 实验题目二:插入数据并进行查询 1. 向学生表(student)中插入至少5条学生记录(最后一条插入你自己信息),包括学号、姓名、年龄、性别和班级信息。 2. 向课程表(course)中插入至少3门课程记录,包括课程号、课程名称和授课教师信息。 3. 向学生选课表(student_course)中插入至少5条选课记录,包括学生学号、课程号和分数信息。 4. 向班级表(class)中插入至少3个班级记录,包括班级代码、班级名称和班主任信息。
### 创建数据库和数据表
#### 1. 创建名为 "ZLWstu_management" 的数据库
```sql
CREATE DATABASE ZLWstu_management;
USE ZLWstu_management;
```
#### 2. 创建数据表
##### 表名: 学生表(student)
```sql
CREATE TABLE student (
sid INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10),
class VARCHAR(50)
);
```
##### 表名: 课程表(course)
```sql
CREATE TABLE course (
cid INT PRIMARY KEY,
name VARCHAR(100),
teacher VARCHAR(50)
);
```
##### 表名: 学生选课表(student_course)
```sql
CREATE TABLE student_course (
sid INT,
cid INT,
score INT,
FOREIGN KEY (sid) REFERENCES student(sid),
FOREIGN KEY (cid) REFERENCES course(cid)
);
```
##### 表名: 班级表(class)
```sql
CREATE TABLE `class` (
class_code VARCHAR(20) PRIMARY KEY,
class_name VARCHAR(100),
teacher VARCHAR(50)
);
```
### 实验题目二:插入数据并进行查询
#### 1. 插入学生记录到学生表(student)
```sql
INSERT INTO student (sid, name, age, gender, class) VALUES
(1, '张三', 20, '男', '计算机科学'),
(2, '李四', 21, '女', '软件工程'),
(3, '王五', 22, '男', '信息安全'),
(4, '赵六', 19, '女', '网络工程'),
(5, '小明', 21, '男', '人工智能'); -- 这里假设“小明”是我的个人信息
```
#### 2. 插入课程记录到课程表(course)
```sql
INSERT INTO course (cid, name, teacher) VALUES
(1, '操作系统原理', '李老师'),
(2, '数据结构', '张老师'),
(3, '算法设计与分析', '陈老师');
```
#### 3. 插入选课记录到学生选课表(student_course)
```sql
INSERT INTO student_course (sid, cid, score) VALUES
(1, 1, 85),
(1, 2, 90),
(2, 2, 87),
(3, 3, 88),
(5, 1, 92); -- 小明选择了操作系统原理这门课,并获得了92分的成绩
```
#### 4. 插入班级记录到班级表(class)
```sql
INSERT INTO `class` (class_code, class_name, teacher) VALUES
('CS101', '计算机科学', '刘老师'),
('SE201', '软件工程', '周老师'),
('IS301', '信息安全', '吴老师');
```
通过以上SQL语句可以完成指定的创建数据库、建立表格以及插入初始数据的操作。
---
为了进一步帮助您理解,以下是几个相关的讨论点:
阅读全文
相关推荐

















