3.3 Example 3: SQL UPDATE
Để thực hiện câu lệnh
Để thực hiện lệnh
Câu lệnh SQL
UPDATE
, chúng ta cần phải gọi phương thức executeUpdate()
của đối tượng Statement
, nó sẽ trả về int
chỉ ra số lượng bản ghi bị ảnh hưởng.Để thực hiện lệnh
SELECT
, chúng ta sử dụng executeQuery()
, nó trả về kết quả ResultSet
- tập hợp các bản ghi khi truy vấn trong database.Câu lệnh SQL
UPDATE|INSERT|DELETE
không trả về một bảng, nhưng nó trả về số lượng bản ghi bị ảnh hưởng int
là một số nguyên.
Tạo ra file java có tên la "
JdbcUpdateTest.java
" trong project của bạn.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import java.sql.*; // Use classes in java.sql package public class JdbcUpdateTest { // Save as "JdbcUpdateTest.java" public static void main(String[] args) { try ( // Step 1: Allocate a database 'Connection' object Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/ebookshop?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC", "myuser", "xxxx"); // for MySQL only // Step 2: Allocate a 'Statement' object in the Connection Statement stmt = conn.createStatement(); ) { // Step 3 & 4: Execute a SQL UPDATE via executeUpdate() // which returns an int indicating the number of rows affected. // Increase the price by 7% and qty by 1 for id=1001 String strUpdate = "update books set price = price*0.7, qty = qty+1 where id = 1001"; System.out.println("The SQL statement is: " + strUpdate + "\n"); // Echo for debugging int countUpdated = stmt.executeUpdate(strUpdate); System.out.println(countUpdated + " records affected.\n"); // Step 3 & 4: Issue a SELECT to check the UPDATE. String strSelect = "select * from books where id = 1001"; System.out.println("The SQL statement is: " + strSelect + "\n"); // Echo for debugging ResultSet rset = stmt.executeQuery(strSelect); while(rset.next()) { // Move the cursor to the next row System.out.println(rset.getInt("id") + ", " + rset.getString("author") + ", " + rset.getString("title") + ", " + rset.getDouble("price") + ", " + rset.getInt("qty")); } } catch(SQLException ex) { ex.printStackTrace(); } // Step 5: Close conn and stmt - Done automatically by try-with-resources } } |
Exercises 1:
Viết chương trình Java để thực thi các câu lệnh SQL sau:
- Tăng
price
lên 50% cho "A Cup of Java". - Set
qty
là 0 cho "A Teaspoon of Java".
Exercises 2:
Bạn hãy sử dụng Java để thay đổi nội dung trong cơ sở dữ liệu mẫu northwind, yêu cầu như sau:
- Thay đổi thông tin của loại sản phẩm trong bảng Category, đổi tên category là 'Seafood' thành 'SeaFood VN'. Viết lệnh SELECT để check lại xem nội dung đã được update chưa.
- Thay đổi thông tin địa chỉ của khách hàng Customer, mã khách hàng Customer ID là 'FRANK' , có thông tin địa chỉ mới là '1A Yet Kieu - Ha Noi'. Viết lệnh SELECT để check lại xem nội dung đã được update chưa.
- Thay đổi giá của các sản phẩm trong bảng Proudcts, sản phẩm nào có category là 5,7,8 thì tăng giá lên 10%. Viết lệnh SELECT để check lại xem nội dung đã được update chưa.
- Thay đổi thông tin của đơn đặt hàng trong bảng Orders, thay đổi shipvia của OrderID 10313, order hiện tại có ShipVia là 2 đổi thành 3.
Đăng nhận xét