Java 增删改查的 SQL 语句
简介
在 Java 开发中,经常需要与数据库进行交互,其中最常见的操作是增删改查(CRUD)。增删改查是对数据库中的数据进行插入、删除、更新和查询的操作。本文将介绍使用 Java 编写增删改查的 SQL 语句,并提供相应的代码示例。
增(Create)
在数据库中插入新的数据可以使用 SQL 的 INSERT 语句。下面是一个示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InsertExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
String sql = "INSERT INTO employees (id, name, age) VALUES (?, ?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setInt(1, 1);
statement.setString(2, "John");
statement.setInt(3, 25);
statement.executeUpdate();
System.out.println("Data inserted successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
上述代码通过 JDBC 连接到数据库,然后使用 PreparedStatement 对象执行 INSERT 语句。INSERT 语句中的问号表示占位符,可以通过 setXXX()
方法设置具体的值。执行 executeUpdate()
方法后,数据就会被插入到数据库中。
删(Delete)
从数据库中删除数据可以使用 SQL 的 DELETE 语句。下面是一个示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DeleteExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
String sql = "DELETE FROM employees WHERE id=?";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setInt(1, 1);
statement.executeUpdate();
System.out.println("Data deleted successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
上述代码同样使用 JDBC 连接到数据库,然后使用 PreparedStatement 对象执行 DELETE 语句。DELETE 语句中的问号表示占位符,可以通过 setXXX()
方法设置具体的值。执行 executeUpdate()
方法后,数据就会被从数据库中删除。
改(Update)
要更新数据库中的数据,可以使用 SQL 的 UPDATE 语句。下面是一个示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UpdateExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
String sql = "UPDATE employees SET name=?, age=? WHERE id=?";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, "John Doe");
statement.setInt(2, 30);
statement.setInt(3, 1);
statement.executeUpdate();
System.out.println("Data updated successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
上述代码同样使用 JDBC 连接到数据库,然后使用 PreparedStatement 对象执行 UPDATE 语句。UPDATE 语句中的问号表示占位符,可以通过 setXXX()
方法设置具体的值。执行 executeUpdate()
方法后,数据就会被更新。
查(Retrieve)
从数据库中查询数据可以使用 SQL 的 SELECT 语句。下面是一个示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class SelectExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
String sql = "SELECT * FROM employees";
PreparedStatement statement = conn.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
}
} catch (SQLException e