Bài đăng nổi bật


3.3  Example 3: SQL UPDATE

Để thực hiện câu lệnh 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:
  1. Tăng price lên 50% cho "A Cup of Java".
  2. 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:
  1. 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. 
  2. 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. 
  3. 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. 
  4. 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. 

Post a Comment

Mới hơn Cũ hơn