Apache Derby: recuperar datos
La instrucción SELECT se usa para recuperar datos de una tabla. Esto devuelve los datos en forma de tabla conocida como conjunto de resultados.
Sintaxis
A continuación se muestra la sintaxis de la instrucción SELECT:
ij> SELECT column_name, column_name, ... FROM table_name;
Or,
Ij>SELECT * from table_name
Ejemplo
Supongamos que tenemos una tabla llamada Empleados en la base de datos como se muestra a continuación:
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
Y, insertó cuatro registros en él como se muestra a continuación:
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 siguiente instrucción SQL recupera los detalles del nombre, la edad y el salario de todos los empleados en la tabla;
ij> SELECT Id, Name, Salary FROM Employees;
El resultado de esta consulta es:
ID |NAME |SALARY
------------------------------------------------------------------------
1 |Amit |30000
2 |Kalyan |40000
3 |Renuka |50000
4 |Archana |15000
4 rows selected
Si desea obtener todos los registros de esta tabla a la vez, use * en lugar de los nombres de las columnas.
ij> select * from Employees;
Esto producirá el siguiente resultado:
ID |NAME |SALARY |LOCATION
------------------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
4 rows selected
Recuperar datos usando el programa JDBC
Esta sección le enseña cómo recuperar datos de una tabla en la base de datos Apache Derby utilizando la aplicación JDBC.
Si desea solicitar el servidor de red Derby mediante un cliente de red, asegúrese de que el servidor esté en funcionamiento. El nombre de clase del controlador del cliente de red es org.apache.derby.jdbc.ClientDriver y la URL es jdbc: derby: // localhost: 1527 /DATABASE_NAME; crear = verdadero; usuario =USER_NAME; contraseña ord =PASSWORD"
Siga los pasos que se indican a continuación para recuperar datos de una tabla en Apache Derby:
Paso 1: registre el controlador
Para comunicarse con la base de datos, en primer lugar, debe registrar el controlador. losforName() método de la clase Classacepta un valor de cadena que representa un nombre de clase, lo carga en la memoria, que lo registra automáticamente. Registre el controlador utilizando este método.
Paso 2: obtén la conexión
En general, el primer paso que hacemos para comunicarnos con la base de datos es conectarnos con ella. losConnectionclase representa la conexión física con un servidor de base de datos. Puede crear un objeto de conexión invocando elgetConnection() método del DriverManagerclase. Cree una conexión con este método.
Paso 3: crea un objeto de declaración
Necesitas crear un Statement o PreparedStatement o, CallableStatementobjetos para enviar sentencias SQL a la base de datos. Puedes crearlos usando los métodoscreateStatement(), prepareStatement() y, prepareCall()respectivamente. Cree cualquiera de estos objetos utilizando el método apropiado.
Paso 4: ejecutar la consulta
Después de crear una declaración, debe ejecutarla. losStatement La clase proporciona varios métodos para ejecutar una consulta como la execute()método para ejecutar una declaración que devuelve más de un conjunto de resultados. losexecuteUpdate()El método ejecuta consultas como INSERT, UPDATE, DELETE. losexecuteQuery() método a los resultados que devuelve datos, etc. Utilice cualquiera de estos métodos y ejecute la instrucción creada previamente.
Ejemplo
El siguiente ejemplo de JDBC demuestra cómo recuperar datos de una tabla en Apache Derby utilizando el programa JDBC. Aquí, nos estamos conectando a una base de datos llamada sampleDB (se creará si no existe) usando el controlador integrado.
los executeQuery() el método devuelve un ResultSetobjeto que contiene el resultado de la declaración. Inicialmente, el puntero del conjunto de resultados estará en el primer registro, puede imprimir el contenido del objeto ResultSet utilizando sunext() y getXXX() métodos.
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(" ");
}
}
}
Salida
Al ejecutar el programa anterior, obtendrá el siguiente resultado
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