Java中使用Mysql數據庫的時候,我們經常需要使用臨時表來存儲一些臨時數據
/** * 創建一個臨時表 */ public void createTemporaryTable() { String sql = "CREATE TEMPORARY TABLE temp_table (" + "id BIGINT(20) NOT NULL AUTO_INCREMENT," + "name VARCHAR(50) NOT NULL," + "age INT(11) NOT NULL," + "PRIMARY KEY (id)" + ")"; try (Connection conn = DriverManager.getConnection(dbUrl, username, password); Statement stmt = conn.createStatement()) { stmt.executeUpdate(sql); System.out.println("臨時表創建成功"); } catch (SQLException e) { System.out.println("臨時表創建失敗"); e.printStackTrace(); } }
上面的代碼是創建一個臨時表的方法。當我們需要使用這個臨時表的時候,我們只需要在臨時表中插入一些數據就好了。
/** * 向臨時表中插入數據 */ public void insertDataIntoTemporaryTable() { String sql = "INSERT INTO temp_table (name, age) VALUES (?, ?)"; try (Connection conn = DriverManager.getConnection(dbUrl, username, password); PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, "張三"); pstmt.setInt(2, 20); pstmt.executeUpdate(); pstmt.setString(1, "李四"); pstmt.setInt(2, 25); pstmt.executeUpdate(); System.out.println("數據插入成功"); } catch (SQLException e) { System.out.println("數據插入失敗"); e.printStackTrace(); } }
上面的代碼是向臨時表中插入數據的方法。我們可以通過查詢臨時表中的數據來驗證插入的數據是否正確。
/** * 查詢臨時表中的數據 */ public void queryTemporaryTableData() { String sql = "SELECT * FROM temp_table"; try (Connection conn = DriverManager.getConnection(dbUrl, username, password); Statement stmt = conn.createStatement()) { ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { long id = rs.getLong("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id=" + id + ", name=" + name + ", age=" + age); } } catch (SQLException e) { e.printStackTrace(); } }
上面的代碼是查詢臨時表中的數據的方法。我們可以通過調用這個方法來輸出臨時表中的數據。