Учебники

Apache Derby — Вставить данные

Запрос на вставку вставляет данные: новые записи в таблицу.

Синтаксис

Ниже приведен основной синтаксис оператора INSERT:

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

где column1, column2 — значения столбца в строке, которая должна быть вставлена.

пример

Следующий оператор SQL INSERT вставляет новую строку в таблицу Student, где он вставляет значения в столбцы id, age, first name и, фамилия .

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

Синтаксис 2

Или вы можете вставить два конкретных столбца, упомянув имена столбцов, как показано ниже —

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

Примечание. Apache Derby автоматически рассчитывает значения для сгенерированных столбцов. Например, нет необходимости передавать значения для столбца id в таблице ученика, созданной ранее в этом учебном пособии. Если в вашей таблице есть столбцы, используйте синтаксис2 .

пример

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

И вы также можете вставить две строки, используя один оператор следующим образом —

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

Вы можете проверить содержимое таблицы, используя команду SELECT (мы обсудим эту команду позже в этом руководстве).

Синтаксис 3

Вы можете использовать другой запрос в операторе вставки как —

INSERT INTO table_Name Query 

пример

Предположим, у нас есть таблица с именем First_Year в базе данных, как показано ниже, с такими же столбцами, как в таблице Student —

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

Вы можете вставить значения из этой таблицы в таблицу учеников, используя приведенный выше синтаксис как —

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

После выполнения всех вышеприведенных операторов вставки таблица Student будет выглядеть следующим образом:

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 

Вставить данные с помощью программы JDBC

В этом разделе рассказывается, как вставить данные в таблицу в базе данных Apache Derby с помощью приложения JDBC.

Если вы хотите запросить сетевой сервер Derby с помощью сетевого клиента, убедитесь, что сервер запущен и работает. Имя класса для драйвера сетевого клиента — org.apache.derby.jdbc.ClientDriver, а URL-адрес — jdbc: derby: // localhost: 1527 / DATABASE_NAME; создать = true; пользователь = USER_NAME; passw ord = ПАРОЛЬ «

Выполните шаги, приведенные ниже, чтобы вставить данные в таблицу в Apache Derby —

Шаг 1: зарегистрировать драйвер

Для связи с базой данных, прежде всего, необходимо зарегистрировать драйвер. Метод forName () класса Class принимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер, используя этот метод.

Шаг 2: Получить соединение

В общем, первый шаг, который мы делаем для связи с базой данных, это соединение с ней. Класс Connection представляет физическое соединение с сервером базы данных. Вы можете создать объект соединения, вызвав метод getConnection () класса DriverManager . Создайте соединение, используя этот метод.

Шаг 3: Создайте объект выписки

Вам необходимо создать объект Statement или PreparedStatement или CallableStatement для отправки операторов SQL в базу данных. Вы можете создать их, используя методы createStatement (), prepareStatement () и prepareCall () соответственно. Создайте любой из этих объектов, используя соответствующий метод.

Шаг 4: Выполнить запрос

После создания вы должны выполнить его. Класс Statement предоставляет различные методы для выполнения запроса, например, метод execute () для выполнения инструкции, которая возвращает более одного набора результатов.

Метод executeUpdate () выполняет запросы, такие как INSERT, UPDATE, DELETE. Метод executeQuery () для результатов, который возвращает данные и т. Д. Используйте любой из этих методов и выполните оператор, созданный ранее.

пример

Следующий пример JDBC демонстрирует, как вставить данные в таблицу в Apache Derby с помощью программы JDBC. Здесь мы подключаемся к базе данных с именем sampleDB (создадим, если она не существует), используя встроенный драйвер.

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

Выход

Выполнив вышеуказанную программу, вы получите следующий вывод: