Apache Derby - Daten abrufen
Die SELECT-Anweisung wird verwendet, um Daten aus einer Tabelle abzurufen. Dies gibt die Daten in Form einer Tabelle zurück, die als Ergebnismenge bezeichnet wird.
Syntax
Es folgt die Syntax der SELECT-Anweisung -
ij> SELECT column_name, column_name, ... FROM table_name;
Or,
Ij>SELECT * from table_name
Beispiel
Nehmen wir an, wir haben eine Tabelle mit dem Namen Employees in der Datenbank, wie unten gezeigt -
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
Und fügte vier Datensätze ein, wie unten gezeigt -
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
Die folgende SQL-Anweisung ruft den Namen, das Alter und die Gehaltsangaben aller Mitarbeiter in der Tabelle ab.
ij> SELECT Id, Name, Salary FROM Employees;
Die Ausgabe dieser Abfrage lautet -
ID |NAME |SALARY
------------------------------------------------------------------------
1 |Amit |30000
2 |Kalyan |40000
3 |Renuka |50000
4 |Archana |15000
4 rows selected
Wenn Sie alle Datensätze dieser Tabelle auf einmal abrufen möchten, verwenden Sie * anstelle der Namen der Spalten.
ij> select * from Employees;
Dies führt zu folgendem Ergebnis:
ID |NAME |SALARY |LOCATION
------------------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
4 rows selected
Daten mit dem JDBC-Programm abrufen
In diesem Abschnitt erfahren Sie, wie Sie mithilfe der JDBC-Anwendung Daten aus einer Tabelle in der Apache Derby-Datenbank abrufen.
Wenn Sie den Derby-Netzwerkserver über den Netzwerkclient anfordern möchten, stellen Sie sicher, dass der Server betriebsbereit ist. Der Klassenname für den Netzwerkclienttreiber lautet org.apache.derby.jdbc.ClientDriver und die URL lautet jdbc: derby: // localhost: 1527 /DATABASE_NAME; create = true; user =USER_NAME; passw ord =PASSWORD""
Führen Sie die folgenden Schritte aus, um Daten aus einer Tabelle in Apache Derby abzurufen.
Schritt 1: Registrieren Sie den Treiber
Um mit der Datenbank zu kommunizieren, müssen Sie zunächst den Treiber registrieren. DasforName() Methode der Klasse ClassAkzeptiert einen String-Wert, der einen Klassennamen darstellt, lädt ihn in den Speicher, der ihn automatisch registriert. Registrieren Sie den Treiber mit dieser Methode.
Schritt 2: Stellen Sie die Verbindung her
Im Allgemeinen besteht der erste Schritt zur Kommunikation mit der Datenbank darin, eine Verbindung mit der Datenbank herzustellen. DasConnectionKlasse repräsentiert die physische Verbindung mit einem Datenbankserver. Sie können ein Verbindungsobjekt erstellen, indem Sie das aufrufengetConnection() Methode der DriverManagerKlasse. Erstellen Sie mit dieser Methode eine Verbindung.
Schritt 3: Erstellen Sie ein Anweisungsobjekt
Sie müssen eine erstellen Statement oder PreparedStatement oder, CallableStatementObjekte zum Senden von SQL-Anweisungen an die Datenbank. Sie können diese mit den Methoden erstellencreateStatement(), prepareStatement() und, prepareCall()beziehungsweise. Erstellen Sie eines dieser Objekte mit der entsprechenden Methode.
Schritt 4: Führen Sie die Abfrage aus
Nachdem Sie eine Anweisung erstellt haben, müssen Sie sie ausführen. DasStatement Klasse bietet verschiedene Methoden, um eine Abfrage wie die auszuführen execute()Methode zum Ausführen einer Anweisung, die mehr als eine Ergebnismenge zurückgibt. DasexecuteUpdate()Methode führt Abfragen wie INSERT, UPDATE, DELETE aus. DasexecuteQuery() Methode zu Ergebnissen, die Daten usw. zurückgeben. Verwenden Sie eine dieser Methoden und führen Sie die zuvor erstellte Anweisung aus.
Beispiel
Das folgende JDBC-Beispiel zeigt, wie Sie mit dem JDBC-Programm Daten aus einer Tabelle in Apache Derby abrufen. Hier stellen wir mithilfe des eingebetteten Treibers eine Verbindung zu einer Datenbank mit dem Namen sampleDB her (wird erstellt, wenn sie nicht vorhanden ist).
Das executeQuery() Methode gibt a zurück ResultSetObjekt, das das Ergebnis der Anweisung enthält. Zu Beginn befindet sich der Ergebnismengenzeiger beim ersten Datensatz. Sie können den Inhalt des ResultSet-Objekts mit dessen druckennext() und getXXX() Methoden.
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(" ");
}
}
}
Ausgabe
Wenn Sie das obige Programm ausführen, erhalten Sie die folgende Ausgabe
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