MySQL 一键导入 Excel 数据的实现
在现代软件开发中,从 Excel 导入数据到 MySQL 数据库是一项常见的任务。对于刚入行的新手来说,这可能会觉得比较复杂,下面我将为你详细说明整个过程以及每一步需要的代码。我们会借助一些工具和技术来完成这一目标。
流程表
下面是整个导入流程的步骤表。
| 步骤 | 内容 |
|----------|------------------------------------------|
| 1 | 准备 Excel 文件(确保格式正确) |
| 2 | 安装必要的工具(如 Apache POI 和 MySQL Connector) |
| 3 | 创建数据库和数据表 |
| 4 | 编写 Java 代码读取 Excel 并插入 MySQL |
| 5 | 执行代码,实现数据导入 |
每一步的详细说明
步骤 1: 准备 Excel 文件
首先,确保你的 Excel 文件是符合要求的格式。例如,文件中应包含列标题,且每一列的数据类型应与 MySQL 数据表的数据类型相匹配。
步骤 2: 安装必要的工具
我们使用 Java 编程语言来完成数据导入工作,因此需要确保以下依赖包已添加到你的项目中:
- Apache POI:用于读取 Excel 文件
- MySQL Connector:用于连接 MySQL 数据库
在 Maven 项目中,你可以在 pom.xml
文件中添加如下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.32</version>
</dependency>
步骤 3: 创建数据库和数据表
使用以下 SQL 代码创建一个新的数据库和数据表。
CREATE DATABASE IF NOT EXISTS excel_import;
USE excel_import;
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
age INT
);
步骤 4: 编写 Java 代码
下面是用于读取 Excel 文件并将数据插入到 MySQL 的 Java 程序示例:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class ExcelToMySQL {
public static void main(String[] args) {
String excelFilePath = "data.xlsx"; // Excel 文件路径
String jdbcURL = "jdbc:mysql://localhost:3306/excel_import"; // MySQL 连接 URL
String username = "your_username"; // 替换为你的数据库用户名
String password = "your_password"; // 替换为你的数据库密码
try {
FileInputStream inputStream = new FileInputStream(excelFilePath);
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);
Connection connection = DriverManager.getConnection(jdbcURL, username, password);
String sql = "INSERT INTO users (name, email, age) VALUES (?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
for (Row row : firstSheet) {
if (row.getRowNum() == 0) continue; // 跳过标题行
String name = row.getCell(0).getStringCellValue();
String email = row.getCell(1).getStringCellValue();
int age = (int) row.getCell(2).getNumericCellValue();
statement.setString(1, name);
statement.setString(2, email);
statement.setInt(3, age);
statement.executeUpdate();
}
workbook.close();
connection.close();
System.out.println("数据导入成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
FileInputStream
:用于读取 Excel 文件。Workbook
和Sheet
:执行对 Excel 表格的操作。DriverManager.getConnection
:用于与 MySQL 数据库建立连接。PreparedStatement
:用于执行插入 SQL 语句。
步骤 5: 执行代码
编译并运行这个 Java 程序,它会直接读取指定的 Excel 文件并将数据插入 MySQL 数据库。
关系图
为更好地理解数据结构,以下是一个 ER 图来表示数据库中的表结构:
erDiagram
USERS {
int id PK
string name
string email
int age
}
结尾
通过以上步骤,我们成功实现了从 Excel 文件中将数据导入到 MySQL 数据库的过程。只要按照流程逐步进行并配置必要的工具,就能轻松完成这项任务。希望这篇文章能对你有所帮助,祝你在数据库学习旅途中顺利前行!