Apache Derby - Wstaw dane

Zapytanie wstawiające wstawia dane: new recordsdo stołu.

Składnia

Poniżej znajduje się podstawowa składnia instrukcji INSERT -

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

gdzie kolumna1, kolumna2 to wartości kolumn w wierszu, który ma zostać wstawiony.

Przykład

Następująca instrukcja SQL INSERT wstawia nowy wiersz w tabeli Student, w którym wstawia wartości w kolumnach id, age, first name i, last name.

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

Składnia 2

Lub możesz wstawić dwie konkretne kolumny, podając nazwy kolumn, jak podano poniżej -

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

Note- Apache Derby automatycznie oblicza wartości dla wygenerowanych kolumn. Na przykład nie ma potrzeby przekazywania wartości dla kolumny id w tabeli uczniów utworzonej wcześniej w tym samouczku. Jeśli Twoja tabela ma wygenerowane kolumny, użyjsyntax2.

Przykład

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

Możesz również wstawić dwa wiersze za pomocą jednej instrukcji w następujący sposób -

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

Możesz zweryfikować zawartość tabeli za pomocą polecenia SELECT (omówimy to polecenie w dalszej części tego samouczka).

Składnia 3

Możesz użyć innego zapytania w instrukcji wstawiania jako -

INSERT INTO table_Name Query

Przykład

Załóżmy, że mamy tabelę o nazwie First_Year w bazie danych, jak pokazano poniżej, z podobnymi kolumnami jak w tabeli Studentów -

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

Możesz wstawić wartości z tej tabeli do tabeli uczniów, używając powyższej składni jako -

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

Po wykonaniu wszystkich powyższych instrukcji wstawiania tabela Studentów będzie wyglądać następująco -

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

Wstaw dane za pomocą programu JDBC

W tej sekcji przedstawiono sposób wstawiania danych do tabeli w bazie danych Apache Derby za pomocą aplikacji JDBC.

Jeśli chcesz zażądać serwera sieciowego Derby za pomocą klienta sieciowego, upewnij się, że serwer jest uruchomiony i działa. Nazwa klasy sterownika klienta sieci to org.apache.derby.jdbc.ClientDriver, a adres URL to jdbc: derby: // localhost: 1527 /DATABASE_NAME;create = true; user =USER_NAME;passw ord =PASSWORD"

Wykonaj poniższe czynności, aby wstawić dane do tabeli w Apache Derby -

Krok 1: Zarejestruj sterownik

Aby komunikować się z bazą danych, należy przede wszystkim zarejestrować sterownik. PlikforName() metoda zajęć, Classakceptuje wartość String reprezentującą nazwę klasy, ładuje ją do pamięci, która automatycznie ją rejestruje. Zarejestruj sterownik za pomocą tej metody.

Krok 2: Uzyskaj połączenie

Ogólnie rzecz biorąc, pierwszym krokiem, jaki robimy, aby komunikować się z bazą danych, jest połączenie się z nią. PlikConnectionklasa reprezentuje fizyczne połączenie z serwerem bazy danych. Możesz utworzyć obiekt połączenia, wywołującgetConnection() metoda DriverManagerklasa. Utwórz połączenie za pomocą tej metody.

Krok 3: Utwórz obiekt instrukcji

Musisz utworzyć plik Statement lub PreparedStatement or, CallableStatementobiekty do wysyłania instrukcji SQL do bazy danych. Możesz je utworzyć za pomocą metodcreateStatement(), prepareStatement() i, prepareCall()odpowiednio. Utwórz dowolny z tych obiektów przy użyciu odpowiedniej metody.

Krok 4: Wykonaj zapytanie

Po utworzeniu instrukcji musisz ją wykonać. PlikStatement klasa zapewnia różne metody wykonywania zapytania, takie jak execute() metoda, aby wykonać instrukcję, która zwraca więcej niż jeden zestaw wyników.

Plik executeUpdate()metoda wykonuje zapytania, takie jak INSERT, UPDATE, DELETE. PlikexecuteQuery() do wyników, które zwracają dane itp. Użyj jednej z tych metod i wykonaj instrukcję utworzoną wcześniej.

Przykład

Poniższy przykład JDBC pokazuje, jak wstawiać dane do tabeli w Apache Derby za pomocą programu JDBC. Tutaj łączymy się z bazą danych o nazwie sampleDB (utworzymy, jeśli nie istnieje) za pomocą wbudowanego sterownika.

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

Wynik

Wykonując powyższy program, otrzymasz następujące dane wyjściowe -

Values inserted