mysql数据库基础实例教程习题答案

admin 31 0

由于MySQL数据库基础实例教程的习题答案可能因不同的教程而异,我无法提供特定教程的精确答案,但我可以为你提供一些常见的MySQL基础习题和可能的答案,以帮助你复习和巩固知识。

### 习题1: 创建数据库和表

**题目**: 创建一个名为`students`的数据库,并在其中创建一个名为`students_table`的表,该表包含以下字段:`id`(整数,主键,自增),`name`(字符串,长度50),`age`(整数),`grade`(字符串,长度10)。

**答案**:

CREATE DATABASE students;

USE students;

CREATE TABLE students_table (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT,
    grade VARCHAR(10)
);

### 习题2: 插入和查询数据

**题目**: 向`students_table`表中插入以下数据:`(1, 'Alice', 20, 'A')`,`(2, 'Bob', 22, 'B')`,`(3, 'Charlie', 21, 'A')`,然后查询年龄大于21的所有学生。

INSERT INTO students_table (id, name, age, grade) VALUES
(1, 'Alice', 20, 'A'),
(2, 'Bob', 22, 'B'),
(3, 'Charlie', 21, 'A');

SELECT * FROM students_table WHERE age > 21;

### 习题3: 更新和删除数据

**题目**: 将名为'Charlie'的学生的年龄更新为23,然后删除年龄为20的学生。

UPDATE students_table SET age = 23 WHERE name = 'Charlie';

DELETE FROM students_table WHERE age = 20;

### 习题4: 聚合函数和分组

**题目**: 查询每个年级的学生数量。

SELECT grade, COUNT(*) AS student_count
FROM students_table
GROUP BY grade;

### 习题5: 连接表

**题目**: 假设还有一个名为`courses`的表,包含以下字段:`course_id`(整数,主键,自增),`course_name`(字符串,长度100),`grade`(字符串,长度10),创建一个名为`student_courses`的表,包含`student_id`(整数),`course_id`(整数)和`score`(整数),编写SQL语句,查询每个学生选修的课程及其成绩。

创建`courses`和`student_courses`表:

CREATE TABLE courses (
    course_id INT PRIMARY KEY AUTO_INCREMENT,
    course_name VARCHAR(100),
    grade VARCHAR(10)
);

CREATE TABLE student_courses (
    student_id INT,
    course_id INT,
    score INT,
    FOREIGN KEY (student_id) REFERENCES students_table(id),
    FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

查询每个学生选修的课程及其成绩:

SELECT s.name AS student_name, c.course_name, sc.score
FROM students_table s
JOIN student_courses sc ON s.id = sc.student_id
JOIN courses c ON sc.course_id = c.course_id;

请注意,这些答案是基于假设的表结构和数据,实际的习题和答案可能会有所不同,如果你有更具体的习题,请提供详细信息,我将尽力帮助你。