Apache Derby - вставка данных
Запрос на вставку вставляет данные: new records, в таблицу.
Синтаксис
Ниже приведен основной синтаксис оператора INSERT:
ij>INSERT INTO table_name VALUES (column_name1, column_name2, ...);
где столбец1, столбец2 - значения столбца в строке, которая должна быть вставлена.
пример
Следующая инструкция SQL INSERT вставляет новую строку в таблицу Student, где вставляет значения в столбцы. id, age, first name а также, last name.
SQL> INSERT INTO Student VALUES (101, 20, 'Zara', 'Ali');
Синтаксис 2
Или вы можете вставить два конкретных столбца, указав имена столбцов, как указано ниже -
ij>INSERT INTO table_name VALUES (column_name1, column_name2, ...) VALUES
(value1, value2, ...);
Note- Apache Derby автоматически вычисляет значения для сгенерированных столбцов. Например, нет необходимости передавать значения для столбца id в таблице учеников, созданной ранее в этом руководстве. Если в вашей таблице есть сгенерированные столбцы, используйтеsyntax2.
пример
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 в базе данных, как показано ниже, с такими же столбцами, как в таблице учеников -
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
После выполнения всех вышеуказанных инструкций вставки таблица учеников будет следующей:
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;create = true; пользователь =USER_NAME;пароль =PASSWORD"
Следуйте инструкциям ниже, чтобы вставить данные в таблицу в Apache Derby -
Шаг 1. Зарегистрируйте драйвер
Для связи с базой данных в первую очередь необходимо зарегистрировать драйвер. ВforName() метод класса, Classпринимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер, используя этот метод.
Шаг 2. Установите соединение
В общем, первый шаг, который мы делаем для связи с базой данных, - это подключение к ней. ВConnectionКласс представляет физическое соединение с сервером базы данных. Вы можете создать объект подключения, вызвавgetConnection() метод DriverManagerкласс. Создайте соединение, используя этот метод.
Шаг 3. Создайте объект утверждения
Вам нужно создать Statement или PreparedStatement or, 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");
}
}
Выход
При выполнении вышеуказанной программы вы получите следующий результат -
Values inserted