Apache Derby - Recupera dati

L'istruzione SELECT viene utilizzata per recuperare i dati da una tabella. Ciò restituisce i dati sotto forma di una tabella nota come set di risultati.

Sintassi

Di seguito è riportata la sintassi dell'istruzione SELECT:

ij> SELECT column_name, column_name, ... FROM table_name;
Or,
Ij>SELECT * from table_name

Esempio

Supponiamo di avere una tabella denominata Employees nel database come mostrato di seguito -

ij> CREATE TABLE Employees (
   Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
   Name VARCHAR(255),
   Salary INT NOT NULL,
   Location VARCHAR(255),
   PRIMARY KEY (Id)
);
> > > > > > > 0 rows inserted/updated/deleted

E, inserito quattro record in esso come mostrato di seguito -

ij> INSERT INTO Employees (Name, Salary, Location) VALUES
 ('Amit', 30000, 'Hyderabad'),
 ('Kalyan', 40000, 'Vishakhapatnam'),
 ('Renuka', 50000, 'Delhi'),
 ('Archana', 15000, 'Mumbai');
> > > > 4 rows inserted/updated/deleted

La seguente istruzione SQL recupera i dettagli su nome, età e stipendio di tutti i dipendenti nella tabella;

ij> SELECT Id, Name, Salary FROM Employees;

L'output di questa query è:

ID |NAME |SALARY
------------------------------------------------------------------------
1 |Amit |30000
2 |Kalyan |40000
3 |Renuka |50000
4 |Archana |15000
4 rows selected

Se vuoi ottenere tutti i record di questa tabella in una volta, usa * invece dei nomi delle colonne.

ij> select * from Employees;

Questo produrrà il seguente risultato:

ID |NAME |SALARY |LOCATION
------------------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
4 rows selected

Recupera i dati utilizzando il programma JDBC

Questa sezione insegna come recuperare i dati da una tabella nel database Apache Derby utilizzando l'applicazione JDBC.

Se desideri richiedere il server di rete Derby utilizzando il client di rete, assicurati che il server sia attivo e funzionante. Il nome della classe per il driver del client di rete è org.apache.derby.jdbc.ClientDriver e l'URL è jdbc: derby: // localhost: 1527 /DATABASE_NAME; creare = true; utente =USER_NAME; passw ord =PASSWORD"

Seguire i passaggi indicati di seguito per recuperare i dati da una tabella in Apache Derby -

Passaggio 1: registra il driver

Per comunicare con il database, prima di tutto, è necessario registrare il conducente. IlforName() metodo della classe Classaccetta un valore String che rappresenta un nome di classe lo carica nella memoria, che lo registra automaticamente. Registrare il driver utilizzando questo metodo.

Passaggio 2: ottieni la connessione

In generale, il primo passo che facciamo per comunicare con il database è connetterci con esso. IlConnectionclass rappresenta la connessione fisica con un server di database. È possibile creare un oggetto connessione richiamando il filegetConnection() metodo del DriverManagerclasse. Crea una connessione usando questo metodo.

Passaggio 3: creare un oggetto istruzione

Devi creare un file Statement o PreparedStatement o, CallableStatementoggetti per inviare istruzioni SQL al database. Puoi crearli usando i metodicreateStatement(), prepareStatement() e, prepareCall()rispettivamente. Crea uno di questi oggetti utilizzando il metodo appropriato.

Passaggio 4: eseguire la query

Dopo aver creato un'istruzione, è necessario eseguirla. IlStatement class fornisce vari metodi per eseguire una query come il execute()metodo per eseguire un'istruzione che restituisce più di un set di risultati. IlexecuteUpdate()metodo esegue query come INSERT, UPDATE, DELETE. IlexecuteQuery() ai risultati che restituiscono dati, ecc. Utilizzare uno di questi metodi ed eseguire l'istruzione creata in precedenza.

Esempio

Il seguente esempio JDBC mostra come recuperare i dati da una tabella in Apache Derby utilizzando il programma JDBC. Qui, ci stiamo connettendo a un database denominato sampleDB (creerà se non esiste) utilizzando il driver incorporato.

Il executeQuery() metodo restituisce un file ResultSetoggetto che contiene il risultato dell'istruzione. Inizialmente il puntatore del set di risultati si troverà sul primo record, puoi stampare il contenuto dell'oggetto ResultSet usando il suonext() e getXXX() metodi.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class RetrieveData {
   public static void main(String args[]) throws SQLException,
      ClassNotFoundException {
      //Registering the driver
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
      //Getting the Connection object
      String URL = "jdbc:derby:sampleDB;create=true";
      Connection conn = DriverManager.getConnection(URL);

      //Creating the Statement object
      4Statement stmt = conn.createStatement();

      //Creating a table and populating it
      String query = "CREATE TABLE Employees("
         + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
         + "Name VARCHAR(255), Salary INT NOT NULL, "
         + "Location VARCHAR(255), "
         + "PRIMARY KEY (Id))";
      String query = "INSERT INTO Employees("
         + "Name, Salary, Location) VALUES "
         + "('Amit', 30000, 'Hyderabad'), "
         + "('Kalyan', 40000, 'Vishakhapatnam'), "
         + "('Renuka', 50000, 'Delhi'), "
         + "('Archana', 15000, 'Mumbai'), "
         + "('Trupthi', 45000, 'Kochin'), "
         + "('Suchatra', 33000, 'Pune'), "
         + "('Rahul', 39000, 'Lucknow'), "
         + "('Trupti', 45000, 'Kochin')";
      //Executing the query
      String query = "SELECT Id, Name, Salary FROM Employees";
      ResultSet rs = stmt.executeQuery(query);
      while(rs.next()) {
         System.out.println("Id: "+rs.getString("Id"));
         System.out.println("Name: "+rs.getString("Name"));
         System.out.println("Salary: "+rs.getString("Salary"));
         System.out.println(" ");
      }
   }
}

Produzione

Eseguendo il programma sopra, otterrai il seguente output

Id: 1
Name: Amit
Salary: 30000

Id: 2
Name: Kalyan
Salary: 43000

Id: 3
Name: Renuka
Salary: 50000

Id: 4
Name: Archana
Salary: 15000

Id: 5
Name: Trupthi
Salary: 45000

Id: 6
Name: Suchatra
Salary: 33000

Id: 7
Name: Rahul
Salary: 39000