Apache Derby - Inserisci dati

La query di inserimento inserisce i dati: new records, nella tabella.

Sintassi

Di seguito è riportata la sintassi di base dell'istruzione INSERT:

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

dove colonna1, colonna2 sono i valori della colonna nella riga che deve essere inserita.

Esempio

La seguente istruzione SQL INSERT inserisce una nuova riga nella tabella Student, dove inserisce i valori nelle colonne id, age, first name e, last name.

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

Sintassi 2

Oppure puoi inserire due colonne specifiche menzionando i nomi delle colonne, come indicato di seguito:

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

Note- Apache Derby calcola automaticamente i valori per le colonne generate. Ad esempio, non è necessario passare valori per la colonna id nella tabella studenti creata in precedenza in questo tutorial. Nel caso in cui la tua tabella abbia generato colonne, usasyntax2.

Esempio

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

E puoi anche inserire due righe usando un'istruzione come segue:

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

Puoi verificare il contenuto della tabella usando il comando SELECT (parleremo di questo comando più avanti in questo tutorial).

Sintassi 3

È possibile utilizzare un'altra query nell'istruzione insert come:

INSERT INTO table_Name Query

Esempio

Supponiamo di avere una tabella denominata First_Year nel database come mostrato di seguito con colonne simili come nella tabella Studente -

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

È possibile inserire valori in questa tabella nella tabella degli studenti utilizzando la sintassi sopra come:

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

Dopo aver eseguito tutte le istruzioni di inserimento sopra, la tabella Student sarà la seguente:

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

Inserisci dati utilizzando il programma JDBC

Questa sezione insegna come inserire dati in 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 = vero; utente =USER_NAME;passw ord =PASSWORD"

Seguire i passaggi indicati di seguito per inserire i dati in 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 il nome di una classe lo carica nella memoria, che lo registra automaticamente. Registra 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 or, 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.

Il executeUpdate()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 inserire dati in 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.

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");
   }
}

Produzione

Eseguendo il programma sopra, otterrai il seguente output:

Values inserted