m ysql数据库练习题
时间: 2024-01-17 21:06:05 浏览: 156
好的,以下是一些 MySQL 数据库练习题,希望能对你有帮助:
1. 创建一个名为 `students` 的表,包含以下字段:`id` (自增主键), `name` (字符串), `age` (整数), `gender` (字符串),并插入至少 3 条数据。
```sql
CREATE TABLE students (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT UNSIGNED NOT NULL,
gender VARCHAR(10) NOT NULL
);
INSERT INTO students (name, age, gender) VALUES
('Lucy', 20, 'Female'),
('Tom', 22, 'Male'),
('Lily', 21, 'Female');
```
2. 查询 `students` 表中所有的记录。
```sql
SELECT * FROM students;
```
3. 查询 `students` 表中女性的记录。
```sql
SELECT * FROM students WHERE gender = 'Female';
```
4. 查询 `students` 表中年龄大于 20 岁的记录。
```sql
SELECT * FROM students WHERE age > 20;
```
5. 将 `students` 表中 Tom 的名字改为 Jerry。
```sql
UPDATE students SET name = 'Jerry' WHERE name = 'Tom';
```
6. 将 `students` 表中年龄小于 21 岁的学生删除。
```sql
DELETE FROM students WHERE age < 21;
```
7. 创建一个名为 `courses` 的表,包含以下字段:`id` (自增主键), `name` (字符串), `teacher_id` (整数),并插入至少 3 条数据。
```sql
CREATE TABLE courses (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
teacher_id INT UNSIGNED NOT NULL
);
INSERT INTO courses (name, teacher_id) VALUES
('Math', 1),
('English', 2),
('History', 3);
```
8. 查询 `courses` 表中所有的记录。
```sql
SELECT * FROM courses;
```
9. 查询 `courses` 表中教师 ID 为 1 的课程。
```sql
SELECT * FROM courses WHERE teacher_id = 1;
```
10. 创建一个名为 `students_courses` 的表,包含以下字段:`id` (自增主键), `student_id` (整数), `course_id` (整数),并插入至少 3 条数据。
```sql
CREATE TABLE students_courses (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
student_id INT UNSIGNED NOT NULL,
course_id INT UNSIGNED NOT NULL
);
INSERT INTO students_courses (student_id, course_id) VALUES
(1, 1),
(2, 2),
(3, 3);
```
11. 查询 `students_courses` 表中所有的记录。
```sql
SELECT * FROM students_courses;
```
12. 查询选修了 Math 课程的学生信息。
```sql
SELECT students.* FROM students
JOIN students_courses ON students.id = students_courses.student_id
JOIN courses ON students_courses.course_id = courses.id
WHERE courses.name = 'Math';
```
以上就是一些 MySQL 数据库练习题,希望能对你有所帮助。
阅读全文