JDBC Tutorials - Herong's Tutorial Notes
Dr. Herong Yang, Version 2.11

"UPDATE" Statements

This section describes how to update existing data rows with UPDATE statements.

UPDATE statements are also commonly used by database applications when users making changes to field values on the UI. An UPDATE statement should have a SET clause to provide a list of columns with new values and a WHERE clause to identify the rows to be updated.

UPDATE statements should be executed with the executeUpdate() method. The Java tutorial program below shows you how to update

/**
 * DerbyUpdateRows.java
 * Copyright (c) 2007 by Dr. Herong Yang. All rights reserved.
 */
import java.sql.*;
public class DerbyUpdateRows {
  public static void main(String [] args) {
    Connection con = null;
    try {
      con = DriverManager.getConnection(
        "jdbc:derby://localhost/TestDB");
      Statement sta = con.createStatement(); 

// updating multiple rows
      int count = sta.executeUpdate(
        "UPDATE Profile SET ModTime = '2007-04-01 23:59:59.999'"
        + " WHERE ID > 6");
      System.out.println("Number of rows updated: "+count);

// Checking updated rows
      ResultSet res = sta.executeQuery(
        "SELECT * FROM Profile");
      System.out.println("List of Profiles: "); 
      while (res.next()) {
         System.out.println(
           "  "+res.getInt("ID")
           + ", "+res.getString("FirstName")
           + ", "+res.getString("LastName")
           + ", "+res.getFloat("Point")
           + ", "+res.getDate("BirthDate")
           + ", "+res.getTimestamp("ModTime"));
      }
      res.close();

      sta.close();
      con.close();        
    } catch (Exception e) {
      System.err.println("Exception: "+e.getMessage());
    }
  }
}

The output confirms that 7 rows were updated with a new timestamp in the ModTime column:

Number of rows updated: 7
List of Profiles:
  1, Herong, null, 0.0, 1988-12-31, 2006-12-31 23:59:59.999
  2, Janet, Gates, 999.99, 1984-10-13, 2006-12-31 23:59:59.999
  3, 144, 14859, 615.1516, 1988-12-31, 2006-12-31 23:59:59.999
  4, 21d6, efd17, 289.4137, 1988-12-31, 2006-12-31 23:59:59.999
  5, 977, 6779f, 766.5425, 1988-12-31, 2006-12-31 23:59:59.999
  6, 1002, e3873, 996.2754, 1988-12-31, 2006-12-31 23:59:59.999
  7, 1b2c, 8f798, 594.6182, 1988-12-31, 2007-04-01 23:59:59.999
  8, 11bd, 58ad0, 741.9156, 1988-12-31, 2007-04-01 23:59:59.999
  9, 1352, 17d9, 274.19855, 1988-12-31, 2007-04-01 23:59:59.999
  10, 13ba, 88356, 115.04227, 1988-12-31, 2007-04-01 23:59:59.999
  11, 1090, 3fb07, 767.21246, 1988-12-31, 2007-04-01 23:59:59.999
  12, 19c2, 8770b, 383.88382, 1988-12-31, 2007-04-01 23:59:59.999
  13, Keith, Harris, 0.0, 1980-02-29, 2007-04-01 23:59:59.999

Sections in This Chapter

Tables with Primary Key Column "GENERATED ... AS IDENTITY"

"INSERT INTO" Statements

"INSERT INTO" Statements with INDENTITY Columns

Handling Date and Timestamp Values

"UPDATE" Statements

"DELETE FROM" Statements

Dr. Herong Yang, updated in 2007
"UPDATE" Statements