SQL 在Java中插入数据到MySQL表

SQL 在Java中插入数据到MySQL表

在本文中,我们将介绍如何在Java中向MySQL表中插入数据的方法。通过使用JDBC(Java Database Connectivity)API和MySQL的驱动程序,我们可以轻松地将数据插入到MySQL数据库中的表中。

阅读更多:SQL 教程

准备工作

在开始之前,我们需要确保已经完成以下准备工作:
1. 安装并配置MySQL数据库服务器。
2. 下载并安装适用于Java的MySQL驱动程序。可以从MySQL官方网站或Maven中央仓库中获取驱动程序。

使用JDBC插入数据

在Java中,我们可以使用JDBC API执行SQL操作。下面是一个简单的示例,展示了如何使用JDBC将数据插入到MySQL表中。

import java.sql.*;

public class InsertDataExample {
   public static void main(String[] args) {
      String url = "jdbc:mysql://localhost:3306/mydatabase";
      String username = "myusername";
      String password = "mypassword";

      String insertQuery = "INSERT INTO employees (id, name, age) VALUES (?,?,?)";

      try (Connection con = DriverManager.getConnection(url, username, password);
           PreparedStatement stmt = con.prepareStatement(insertQuery)) {
         stmt.setInt(1, 1);
         stmt.setString(2, "John Smith");
         stmt.setInt(3, 35);

         int rowsAffected = stmt.executeUpdate();
         System.out.println("Rows affected: " + rowsAffected);
      } catch (SQLException ex) {
         ex.printStackTrace();
      }
   }
}
Java

上述示例中,我们首先定义了数据库的URL、用户名和密码。然后,创建了一个要执行的插入查询。接下来建立了与MySQL数据库的连接,并使用PreparedStatement对象将参数设置到SQL查询中。最后,使用stmt.executeUpdate()方法执行插入操作并获取受影响的行数。

执行结果

执行上述示例后,将会插入一行数据到MySQL表中。我们可以通过查询表来验证数据是否已成功插入。

SELECT * FROM employees;
SQL

结果应为:

+----+------------+-----+
| id | name       | age |
+----+------------+-----+
| 1  | John Smith | 35  |
+----+------------+-----+
SQL

批量插入数据

如果需要一次性插入多个数据行,可以使用批量插入的方式,以提高插入效率。以下是一个示例代码:

import java.sql.*;

public class BatchInsertExample {
   public static void main(String[] args) {
      String url = "jdbc:mysql://localhost:3306/mydatabase";
      String username = "myusername";
      String password = "mypassword";

      String insertQuery = "INSERT INTO employees (id, name, age) VALUES (?,?,?)";

      try (Connection con = DriverManager.getConnection(url, username, password);
           PreparedStatement stmt = con.prepareStatement(insertQuery)) {
         con.setAutoCommit(false); // 关闭自动提交

         for (int i = 1; i <= 1000; i++) {
            stmt.setInt(1, i);
            stmt.setString(2, "Employee " + i);
            stmt.setInt(3, 25 + i % 10);
            stmt.addBatch(); // 加入批处理
         }

         int[] rowsAffected = stmt.executeBatch(); // 执行批处理

         con.commit(); // 手动提交事务

         System.out.println("Rows affected: " + Arrays.stream(rowsAffected).sum());
      } catch (SQLException ex) {
         ex.printStackTrace();
      }
   }
}
Java

上述示例中,我们在插入循环中使用了批量插入的方法。首先关闭了自动提交模式,然后将每个插入操作添加到批处理中。最后,使用stmt.executeBatch()方法执行批处理,返回每个插入操作受影响的行数。在循环结束后,手动提交事务以确保数据已成功插入。

总结

本文介绍了如何使用Java的JDBC API向MySQL表中插入数据。通过使用合适的驱动程序,并遵循JDBC的最佳实践,我们可以很容易地执行插入操作。还展示了批量插入数据的方法,以提高插入效率。希望本文可以帮助您在Java中使用SQL插入数据到MySQL表。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册