关于MySQL的实操题
时间: 2025-06-17 09:30:00 浏览: 25
### MySQL 实操题与练习题
以下是一些与 MySQL 数据库操作相关的实操题和练习题,涵盖了常见的 SQL 操作,包括创建表、插入数据、查询数据、更新数据和删除数据等。
#### 创建表
1. 创建一个名为 `employees` 的表,包含以下字段:
- `id` (INT, 主键,自增)
- `name` (VARCHAR(50), 非空)
- `position` (VARCHAR(50))
- `salary` (DECIMAL(10, 2))
- `hire_date` (DATE)
```sql
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
position VARCHAR(50),
salary DECIMAL(10, 2),
hire_date DATE
);
```
#### 插入数据
2. 向 `employees` 表中插入以下数据:
- 姓名:John Doe,职位:Manager,薪水:75000,入职日期:2020-05-01
- 姓名:Jane Smith,职位:Developer,薪水:60000,入职日期:2021-03-15
```sql
INSERT INTO employees (name, position, salary, hire_date) VALUES ('John Doe', 'Manager', 75000, '2020-05-01');
INSERT INTO employees (name, position, salary, hire_date) VALUES ('Jane Smith', 'Developer', 60000, '2021-03-15');
```
#### 查询数据
3. 查询所有员工的姓名和职位。
```sql
SELECT name, position FROM employees;
```
4. 查询薪水大于 60000 的员工信息。
```sql
SELECT * FROM employees WHERE salary > 60000;
```
5. 查询入职日期在 2021 年之后的员工信息。
```sql
SELECT * FROM employees WHERE hire_date > '2021-01-01';
```
#### 更新数据
6. 将 John Doe 的薪水更新为 80000。
```sql
UPDATE employees SET salary = 80000 WHERE name = 'John Doe';
```
#### 删除数据
7. 删除职位为 Developer 的员工记录。
```sql
DELETE FROM employees WHERE position = 'Developer';
```
#### 综合查询
8. 查询每个职位的平均薪水,并按平均薪水从高到低排序。
```sql
SELECT position, AVG(salary) AS avg_salary FROM employees GROUP BY position ORDER BY avg_salary DESC;
```
9. 查询入职时间最早的员工信息。
```sql
SELECT * FROM employees ORDER BY hire_date ASC LIMIT 1;
```
#### 复杂查询
10. 创建一个视图 `high_salary_employees`,包含薪水大于 65000 的员工信息。
```sql
CREATE VIEW high_salary_employees AS SELECT * FROM employees WHERE salary > 65000;
```
11. 使用子查询查找薪水最高的员工信息。
```sql
SELECT * FROM employees WHERE salary = (SELECT MAX(salary) FROM employees);
```
### 注意事项
在执行上述操作时,请确保数据库连接正常,并且已选择正确的数据库[^1]。此外,在实际操作中,建议先备份数据以防止误操作导致的数据丢失。
阅读全文
相关推荐


















