Apache Derby - Insertar datos

La consulta de inserción inserta datos: new records, en la mesa.

Sintaxis

A continuación se muestra la sintaxis básica de la instrucción INSERT:

ij>INSERT INTO table_name VALUES (column_name1, column_name2, ...);

donde columna1, columna2 son los valores de columna en la fila que se va a insertar.

Ejemplo

La siguiente instrucción SQL INSERT inserta una nueva fila en la tabla Student, donde inserta valores en las columnas id, age, first name y, last name.

SQL> INSERT INTO Student VALUES (101, 20, 'Zara', 'Ali');

Sintaxis 2

O puede insertar dos columnas específicas mencionando los nombres de las columnas, como se indica a continuación:

ij>INSERT INTO table_name VALUES (column_name1, column_name2, ...) VALUES
(value1, value2, ...);

Note- Apache Derby calcula automáticamente los valores de las columnas generadas. Por ejemplo, no es necesario pasar valores para la columna de identificación en la tabla de estudiantes creada anteriormente en este tutorial. En caso de que su tabla haya generado columnas, usesyntax2.

Ejemplo

ij> INSERT INTO Student(Age, First_Name, Last_Name) VALUES (21, 'Sucharitha' , 'Tyagi');
1 row inserted/updated/deleted

Y también puede insertar dos filas usando una declaración de la siguiente manera:

ij>INSERT INTO Student(Age, First_Name, Last_Name) VALUES (20, 'Amit',
'Bhattacharya'), (22, 'Rahul', 'Desai');
2 rows inserted/updated/deleted

Puede verificar el contenido de la tabla usando el comando SELECT (discutiremos este comando más adelante en este tutorial).

Sintaxis 3

Puede usar otra consulta en la declaración de inserción como:

INSERT INTO table_Name Query

Ejemplo

Supongamos que tenemos una tabla llamada First_Year en la base de datos como se muestra a continuación con columnas similares a las de la tabla de Estudiantes -

ID |AGE |FIRST_NAME |LAST_NAME
-----------------------------------------------------------------
1 |20 |Raju |Pendyala
2 |21 |Bhargav |Prayaga
3 |22 |Deepthi |Yerramilli

Puede insertar valores en esta tabla en la tabla de estudiantes usando la sintaxis anterior como -

ij> INSERT INTO Student (Age, First_Name, Last_Name)
 SELECT Age, First_Name, Last_Name FROM First_Year;
> 3 rows inserted/updated/deleted

Después de ejecutar todas las declaraciones de inserción anteriores, la tabla de estudiantes será la siguiente:

ID |AGE |FIRST_NAME |LAST_NAME
-------------------------------------------------------------
1 |21 |Sucharitha |Tyagi
2 |20 |Amit |Bhattacharya
3 |22 |Rahul |Desai
4 |20 |Raju |Pendyala
5 |21 |Bhargav |Prayaga
6 |22 |Deepthi |Yerramilli

Insertar datos usando el programa JDBC

Esta sección le enseña cómo insertar datos en 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;passw ord =PASSWORD"

Siga los pasos que se indican a continuación para insertar datos en 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 or, 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.

los executeUpdate()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 anteriormente.

Ejemplo

El siguiente ejemplo de JDBC demuestra cómo insertar datos en 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.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class InsertData {
   public static void main(String args[]) throws Exception {
      //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
      Statement stmt = conn.createStatement();

      //Creating a table and populating
      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))";
      //Executing the query
      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')";
      stmt.execute(query);
      System.out.println("Values inserted");
   }
}

Salida

Al ejecutar el programa anterior, obtendrá el siguiente resultado:

Values inserted