帮我找mysql实操题,并且能提供题目的数据库表
时间: 2025-08-22 19:56:08 AIGC 浏览: 20 评论: 6
<think>我们正在寻找包含实际操作的MySQL练习题以及题目所需的数据库表结构。根据引用内容,我们可以从以下几个方向获取资源:
1. **引用[1]** 中提到了一系列从基础到高级的SQL练习题,包括表的创建与修改等操作。虽然该资源主要针对Oracle,但很多概念和操作在MySQL中也适用。我们可以参考其练习题目,并适当调整表结构以符合MySQL语法。
2. **引用[2]** 提供了MySQL基础操作的命令,包括数据库操作、表操作等。我们可以根据这些命令创建表结构。
3. **引用[3]** 是一篇关于MySQL基础到进阶的教程,其中包含基本的SELECT语句、过滤数据等练习,并提到了数据导入指令(如`source`命令),这有助于我们构建练习环境。
### 实操练习题及配套表结构示例
以下是一个典型的MySQL实操练习题示例,包括题目描述和所需的数据库表结构:
#### 题目1:员工信息查询
**描述**:创建一个员工表(employees)和部门表(departments),并插入示例数据。然后完成以下查询:
1. 查询所有在'IT'部门工作的员工姓名和工资。
2. 统计每个部门的平均工资。
3. 查询工资高于本部门平均工资的员工信息。
**表结构**:
```sql
-- 创建部门表
CREATE TABLE departments (
dept_id INT PRIMARY KEY AUTO_INCREMENT,
dept_name VARCHAR(50) NOT NULL
);
-- 创建员工表
CREATE TABLE employees (
emp_id INT PRIMARY KEY AUTO_INCREMENT,
emp_name VARCHAR(100) NOT NULL,
salary DECIMAL(10, 2),
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES departments(dept_id)
);
-- 插入部门数据
INSERT INTO departments (dept_name) VALUES
('IT'),
('HR'),
('Finance');
-- 插入员工数据
INSERT INTO employees (emp_name, salary, dept_id) VALUES
('Alice', 7000.00, 1),
('Bob', 5000.00, 1),
('Charlie', 6000.00, 2),
('David', 8000.00, 3);
```
#### 题目2:订单管理
**描述**:创建一个订单表(orders)和客户表(customers),并插入示例数据。完成以下操作:
1. 查询每个客户的订单数量。
2. 更新订单金额,将所有金额低于100的订单增加10%。
3. 删除没有订单的客户记录。
**表结构**:
```sql
-- 创建客户表
CREATE TABLE customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
customer_name VARCHAR(100) NOT NULL
);
-- 创建订单表
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
order_date DATE,
amount DECIMAL(10, 2),
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
-- 插入客户数据
INSERT INTO customers (customer_name) VALUES
('John'),
('Mary'),
('Mike');
-- 插入订单数据
INSERT INTO orders (order_date, amount, customer_id) VALUES
('2023-01-01', 150.00, 1),
('2023-01-02', 99.50, 1),
('2023-01-03', 200.00, 2);
```
### 如何获取更多练习题
- **引用[1]中的资源**:虽然主要针对Oracle,但可以借鉴其题目,将表结构和语法调整为MySQL。
- **引用[2]和[3]中的教程**:这些教程通常包含配套的练习题和数据库文件,可以通过尚硅谷官网下载(引用[2]提到)。
### 在线练习环境
- 使用在线SQL练习平台(如SQLZoo、LeetCode、HackerRank)进行MySQL练习,这些平台通常提供题目和内置的数据库环境。
- 引用[2]提到的墨天轮在线实训平台也提供MySQL实验环境。
### 生成相关问题
根据上述内容,生成以下相关问题:</think>### MySQL实操练习题及配套数据库表结构
以下是精选的MySQL实操练习题及配套表结构,涵盖基础到进阶操作:
#### 题目1:员工信息管理
**表结构**:
```sql
CREATE TABLE employees (
emp_id INT PRIMARY KEY AUTO_INCREMENT,
emp_name VARCHAR(50) NOT NULL,
hire_date DATE,
salary DECIMAL(10,2),
dept_id INT
);
CREATE TABLE departments (
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50) NOT NULL
);
INSERT INTO departments VALUES
(101, 'IT'), (102, 'HR'), (103, 'Finance');
INSERT INTO employees (emp_name, hire_date, salary, dept_id) VALUES
('张三', '2020-05-15', 8000.00, 101),
('李四', '2019-11-20', 12000.50, 102),
('王五', '2022-03-01', 7500.00, 101),
('赵六', '2021-08-12', 9500.00, 103);
```
**练习题**:
1. 查询IT部门所有员工姓名和工资
2. 计算各部门平均工资并按降序排列
3. 将2020年前入职的员工工资上调10%
---
#### 题目2:订单管理系统
**表结构**:
```sql
CREATE TABLE customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
city VARCHAR(50)
);
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
order_date DATE,
amount DECIMAL(10,2),
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
INSERT INTO customers (name, city) VALUES
('客户A', '北京'), ('客户B', '上海'), ('客户C', '广州');
INSERT INTO orders (order_date, amount, customer_id) VALUES
('2023-01-15', 1500.00, 1),
('2023-02-20', 2300.50, 2),
('2023-01-30', 800.00, 1),
('2023-03-05', 4200.00, 3);
```
**练习题**:
1. 查询北京客户的订单总金额
2. 找出下单次数超过1次的客户
3. 删除2023年1月1日前的所有订单记录
---
#### 题目3:商品库存管理
**表结构**:
```sql
CREATE TABLE products (
product_id INT PRIMARY KEY AUTO_INCREMENT,
product_name VARCHAR(100) NOT NULL,
category VARCHAR(50),
price DECIMAL(10,2),
stock INT
);
INSERT INTO products (product_name, category, price, stock) VALUES
('手机X', '电子产品', 2999.00, 50),
('笔记本电脑Y', '电子产品', 6999.00, 20),
('咖啡机', '家电', 899.00, 30),
('蓝牙耳机', '电子产品', 399.00, 100);
```
**练习题**:
1. 将电子产品类商品价格降低15%
2. 查询库存量低于30的商品名称
3. 添加新列`discount_price`并计算打8折后的价格
---
### 练习环境搭建建议
1. **本地环境**:
```bash
# 使用Docker快速部署
docker run --name mysql-practice -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
```
2. **在线环境**:
- [SQL Fiddle](http://sqlfiddle.com/):即时创建表并执行SQL
- [DB Fiddle](https://www.db-fiddle.com/):支持MySQL 8.0在线测试
- [墨天轮实训平台](https://www.modb.pro/):提供完整实验环境[^2]
3. **导入表结构**:
```sql
-- 在MySQL客户端执行
SOURCE /path/to/your_sql_file.sql;
```
> 提示:所有练习题均基于MySQL 8.0语法,建议使用`ONLY_FULL_GROUP_BY`模式进行严格练习[^3]。
阅读全文
相关推荐




















评论

王向庄
2025.08.31
提供实际操作练习题与配套表结构,适合初学者学习MySQL。

陌陌的日记
2025.08.18
建议了本地与在线环境搭建方法,满足不同学习需求。

永远的12
2025.07.28
包含题目描述和数据库表结构,方便用户快速上手实操。😋

张匡龙
2025.07.17
内容详实,不仅提供了题库,还指出了相应的实践环境和操作步骤。🎉

虚伪的小白
2025.06.20
强调了实践的重要性,提供了丰富的操作练习和表结构示例。🍖

thebestuzi
2025.06.04
介绍了多种获取MySQL练习资源的途径,包括在线平台和下载教程。