请给出三张数据表,并且完成最基础的增删改查以及联合查询,批量删除等功能
时间: 2024-04-03 14:31:59 浏览: 56
php+MySql已有数据表通用搜索可增删改查
好的,我这里举一个简单的例子来说明。
假设我们有三张数据表:学生表(students)、课程表(courses)和选课表(选课表)。
学生表(students)包含以下字段:学生ID(student_id)、姓名(name)、年龄(age)、性别(gender)、班级(class)。
课程表(courses)包含以下字段:课程ID(course_id)、课程名称(course_name)、课程学分(credit)。
选课表(选课表)包含以下字段:选课ID(id)、学生ID(student_id)、课程ID(course_id)、选课成绩(score)。
下面是这三张表的创建语句和一些基本的操作:
```sql
-- 创建学生表
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10),
class VARCHAR(50)
);
-- 创建课程表
CREATE TABLE courses (
course_id INT PRIMARY KEY,
course_name VARCHAR(50),
credit INT
);
-- 创建选课表
CREATE TABLE selections (
id INT PRIMARY KEY,
student_id INT,
course_id INT,
score INT,
FOREIGN KEY (student_id) REFERENCES students(student_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
-- 插入数据
INSERT INTO students VALUES (1, '张三', 20, '男', '计算机科学与技术');
INSERT INTO students VALUES (2, '李四', 21, '女', '软件工程');
INSERT INTO students VALUES (3, '王五', 19, '男', '网络工程');
INSERT INTO courses VALUES (1, '数据库', 3);
INSERT INTO courses VALUES (2, '数据结构', 4);
INSERT INTO courses VALUES (3, '计算机组成原理', 5);
INSERT INTO selections VALUES (1, 1, 1, 90);
INSERT INTO selections VALUES (2, 1, 2, 85);
INSERT INTO selections VALUES (3, 2, 1, 95);
INSERT INTO selections VALUES (4, 2, 3, 80);
INSERT INTO selections VALUES (5, 3, 2, 88);
-- 查询学生表中的所有数据
SELECT * FROM students;
-- 根据学生ID查询学生信息
SELECT * FROM students WHERE student_id=1;
-- 根据学生姓名查询学生信息
SELECT * FROM students WHERE name='张三';
-- 根据课程ID查询课程信息
SELECT * FROM courses WHERE course_id=1;
-- 根据选课ID查询选课信息
SELECT * FROM selections WHERE id=1;
-- 查询某个学生选修的所有课程
SELECT courses.course_id, course_name, credit, score FROM courses
INNER JOIN selections ON courses.course_id=selections.course_id
WHERE selections.student_id=1;
-- 查询某个课程被哪些学生选修了
SELECT students.student_id, name, age, gender, class, score FROM students
INNER JOIN selections ON students.student_id=selections.student_id
WHERE selections.course_id=1;
-- 修改某个学生的信息
UPDATE students SET name='张三丰', age=21 WHERE student_id=1;
-- 删除某个学生的信息
DELETE FROM students WHERE student_id=2;
-- 批量删除某个班级的所有学生信息
DELETE FROM students WHERE class='计算机科学与技术';
```
阅读全文