HSQLDB: query di aggiornamento
Ogni volta che si desidera modificare i valori di una tabella, è possibile utilizzare il comando UPDATE. Ciò modificherà qualsiasi valore di campo da qualsiasi tabella HSQLDB.
Sintassi
Ecco la sintassi generica per il comando UPDATE.
UPDATE table_name SET field1 = new-value1, field2 = new-value2 [WHERE Clause]
- Puoi aggiornare uno o più campi insieme.
- È possibile specificare qualsiasi condizione utilizzando la clausola WHERE.
- È possibile aggiornare i valori in una singola tabella alla volta.
Esempio
Si consideri un esempio che aggiorna il titolo del tutorial da "Learn C" a "C and Data Structures" con id "101". Di seguito è riportata la query per l'aggiornamento.
UPDATE tutorials_tbl SET title = 'C and Data Structures' WHERE id = 101;
Dopo l'esecuzione della query precedente, riceverai il seguente output.
(1) Rows effected
HSQLDB - Programma JDBC
Ecco il programma JDBC che aggiornerà il titolo di un tutorial da Learn C per C and Data Structures avere un id 101. Salvare il seguente programma nel fileUpdateQuery.java file.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class UpdateQuery {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
int result = 0;
try {
Class.forName("org.hsqldb.jdbc.JDBCDriver");
con = DriverManager.getConnection(
"jdbc:hsqldb:hsql://localhost/testdb", "SA", "");
stmt = con.createStatement();
result = stmt.executeUpdate(
"UPDATE tutorials_tbl SET title = 'C and Data Structures' WHERE id = 101");
} catch (Exception e) {
e.printStackTrace(System.out);
}
System.out.println(result+" Rows effected");
}
}
È possibile avviare il database utilizzando il seguente comando.
\>cd C:\hsqldb-2.3.4\hsqldb
hsqldb>java -classpath lib/hsqldb.jar org.hsqldb.server.Server --database.0
file:hsqldb/demodb --dbname.0 testdb
Compilare ed eseguire il programma precedente utilizzando il seguente comando.
\>javac UpdateQuery.java
\>java UpdateQuery
Dopo l'esecuzione del comando precedente, riceverai il seguente output:
1 Rows effected