MySQL数据库课程答案

MySQL是一种流行的开源关系型数据库管理系统,它使用结构化查询语言(SQL)进行数据操作,我们将提供一些常见的MySQL问题及其答案,以帮助您更好地理解和使用MySQL数据库。
1. 创建数据库和表
要在MySQL中创建一个名为students的数据库,可以使用以下SQL语句:
CREATE DATABASE students;
要在students数据库中创建一个名为student_info的表,可以使用以下SQL语句:
USE students;
CREATE TABLE student_info (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender ENUM('M', 'F') NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
2. 插入数据
要将一条学生信息插入到student_info表中,可以使用以下SQL语句:
INSERT INTO student_info (name, age, gender, email)
VALUES ('张三', 20, 'M', 'zhangsan@example.com');
3. 查询数据

要查询所有学生的信息,可以使用以下SQL语句:
SELECT * FROM student_info;
要查询年龄大于等于18岁的学生信息,可以使用以下SQL语句:
SELECT * FROM student_info WHERE age >= 18;
4. 更新数据
要更新学生的年龄,可以使用以下SQL语句:
UPDATE student_info SET age = 21 WHERE name = '张三';
5. 删除数据
要删除一条学生信息,可以使用以下SQL语句:
DELETE FROM student_info WHERE name = '张三';
6. 聚合函数

要计算所有学生的平均年龄,可以使用以下SQL语句:
SELECT AVG(age) FROM student_info;
要统计每个性别的学生人数,可以使用以下SQL语句:
SELECT gender, COUNT(*) FROM student_info GROUP BY gender;
7. 排序和分页
要按照年龄降序排列学生信息,并返回前5条记录,可以使用以下SQL语句:
SELECT * FROM student_info ORDER BY age DESC LIMIT 5;
要按照姓名升序排列学生信息,并返回第6到10条记录,可以使用以下SQL语句:
SELECT * FROM student_info ORDER BY name ASC LIMIT 5 OFFSET 5;
8. 多表查询
假设我们还有一个名为courses的表,包含课程信息,可以使用以下SQL语句查询每个学生选修的课程:
SELECT student_info.name, courses.course_name FROM student_info JOIN course_selection ON student_info.id = course_selection.student_id JOIN courses ON course_selection.course_id = courses.id;
就是一些常见的MySQL问题及其答案,希望这些示例能够帮助您更好地理解和使用MySQL数据库,如果您还有其他问题,请随时提问。




