MySQL与Java交互教程(二)
发布时间:2024-03-05 10:56:16 所属栏目:MySql教程 来源:小林写作
导读: 五、MySQL与Java交互之高级查询
1.联合查询
联合查询是指将两个或多个表进行关联查询的一种操作。在Java中,我们可以使用JDBC提供的`Statement`对象的`executeQuery()`方法进行联合查询。以下是一个简单的示例:
1.联合查询
联合查询是指将两个或多个表进行关联查询的一种操作。在Java中,我们可以使用JDBC提供的`Statement`对象的`executeQuery()`方法进行联合查询。以下是一个简单的示例:
五、MySQL与Java交互之高级查询 1.联合查询 联合查询是指将两个或多个表进行关联查询的一种操作。在Java中,我们可以使用JDBC提供的`Statement`对象的`executeQuery()`方法进行联合查询。以下是一个简单的示例: ```java //连接MySQL数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "username", "password"); //创建Statement对象 Statement stmt = conn.createStatement(); //执行联合查询 ResultSet rs = stmt.executeQuery("SELECT a.id, a.name, b.address FROM users a, addresses b WHERE a.id = b.user_id"); //处理查询结果 while (rs.next()) { System.out.println("ID: " + rs.getInt("id") + ",姓名: " + rs.getString("name") + ", 地址: " + rs.getString("address")); } //关闭资源 rs.close(); stmt.close(); conn.close(); ``` 2.子查询 子查询是指在查询语句中嵌套另一个查询语句。在Java中,我们可以使用`SELECT ... INNER JOIN ... ON ...`或者`SELECT ... WHERE ...`等语句实现子查询。以下是一个简单的示例: ```java //连接MySQL数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "username", "password"); //创建Statement对象 Statement stmt = conn.createStatement(); //执行子查询 ResultSet rs = stmt.executeQuery("SELECT * FROM users WHERE id IN (SELECT user_id FROM addresses)"); //处理查询结果 while (rs.next()) { System.out.println("ID: " + rs.getInt("id") + ",姓名: " + rs.getString("name")); } //关闭资源 rs.close(); stmt.close(); conn.close(); ``` 3.聚合函数 聚合函数是用于对查询结果进行统计和汇总的函数。在Java中,我们可以使用如`COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()`等聚合函数。以下是一个简单的示例: ```java //连接MySQL数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "username", "password"); //创建Statement对象 Statement stmt = conn.createStatement(); //执行聚合函数查询 ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM users"); //处理查询结果 while (rs.next()) { System.out.println("用户数量: " + rs.getInt(1)); } //关闭资源 rs.close(); stmt.close(); conn.close(); ``` 六、MySQL与Java交互之事务处理 1.事务概念 事务是指满足ACID特性的一组操作。ACID特性包括:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 2.事务操作 在Java中,我们可以使用`Connection`对象的`setAutoCommit()`方法开启或关闭自动提交,以及使用`commit()`和`rollback()`方法进行事务提交和回滚。以下是一个简单的示例: ```java //连接MySQL数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "username", "password"); //开启自动提交 conn.setAutoCommit(false); //执行插入操作 String sql1 = "INSERT INTO users (name, age) VALUES ('Alice',25)"]; Statement stmt1 = conn.createStatement(); stmt1.executeUpdate(sql1); //执行更新操作 String sql2 = "UPDATE users SET age =26 WHERE name = 'Bob'"; Statement stmt2 = conn.createStatement(); stmt2.executeUpdate(sql2); // (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |