Apache Derby - Chèn dữ liệu

Truy vấn chèn sẽ chèn dữ liệu: new records, vào bảng.

Cú pháp

Sau đây là cú pháp cơ bản của câu lệnh INSERT:

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

trong đó column1, column2 là các giá trị cột trong hàng sẽ được chèn.

Thí dụ

Câu lệnh SQL INSERT sau đây chèn một hàng mới trong bảng Sinh viên, nơi nó sẽ chèn các giá trị trong các cột id, age, first name và, last name.

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

Cú pháp 2

Hoặc, bạn có thể chèn hai cột cụ thể bằng cách đề cập đến tên cột, như được cung cấp bên dưới -

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

Note- Apache Derby tự động tính toán giá trị cho các cột được tạo. Ví dụ: không cần phải chuyển các giá trị cho cột id trong bảng sinh viên đã tạo trước đó trong hướng dẫn này. Trong trường hợp bảng của bạn đã tạo các cột, hãy sử dụngsyntax2.

Thí dụ

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

Và, bạn cũng có thể chèn hai hàng bằng một câu lệnh như sau:

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

Bạn có thể xác minh nội dung của bảng bằng lệnh SELECT (chúng ta sẽ thảo luận về lệnh này sau trong hướng dẫn này).

Cú pháp 3

Bạn có thể sử dụng một truy vấn khác trong câu lệnh chèn như:

INSERT INTO table_Name Query

Thí dụ

Giả sử, chúng ta có một bảng tên là First_Year trong cơ sở dữ liệu như hình dưới đây với các cột tương tự như trong bảng Sinh viên -

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

Bạn có thể chèn các giá trị trong bảng này vào bảng sinh viên bằng cú pháp trên dưới dạng:

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

Sau khi thực hiện tất cả các câu lệnh chèn ở trên, bảng Sinh viên sẽ như sau:

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

Chèn dữ liệu bằng chương trình JDBC

Phần này hướng dẫn bạn cách chèn dữ liệu vào bảng trong cơ sở dữ liệu Apache Derby bằng ứng dụng JDBC.

Nếu bạn muốn yêu cầu máy chủ mạng Derby sử dụng máy khách mạng, hãy đảm bảo rằng máy chủ đang hoạt động. Tên lớp cho trình điều khiển máy khách mạng là org.apache.derby.jdbc.ClientDriver và URL là jdbc: derby: // localhost: 1527 /DATABASE_NAME;create = true; user =USER_NAME;passw ord =PASSWORD"

Làm theo các bước dưới đây để chèn dữ liệu vào bảng trong Apache Derby -

Bước 1: Đăng ký tài xế

Để giao tiếp với cơ sở dữ liệu, trước hết, bạn cần đăng ký trình điều khiển. CácforName() phương pháp của lớp, Classchấp nhận một giá trị Chuỗi đại diện cho một tên lớp sẽ tải nó vào bộ nhớ, nó sẽ tự động đăng ký nó. Đăng ký trình điều khiển bằng cách sử dụng phương pháp này.

Bước 2: Nhận kết nối

Nói chung, bước đầu tiên chúng ta làm để giao tiếp với cơ sở dữ liệu là kết nối với nó. CácConnectionlớp đại diện cho kết nối vật lý với một máy chủ cơ sở dữ liệu. Bạn có thể tạo một đối tượng kết nối bằng cách gọigetConnection() phương pháp của DriverManagerlớp học. Tạo kết nối bằng phương pháp này.

Bước 3: Tạo đối tượng câu lệnh

Bạn cần tạo một Statement hoặc là PreparedStatement or, CallableStatementđối tượng để gửi câu lệnh SQL đến cơ sở dữ liệu. Bạn có thể tạo chúng bằng các phương phápcreateStatement(), prepareStatement() và, prepareCall()tương ứng. Tạo bất kỳ đối tượng nào trong số này bằng phương pháp thích hợp.

Bước 4: Thực hiện truy vấn

Sau khi tạo một câu lệnh, bạn cần thực thi nó. CácStatement lớp cung cấp các phương thức khác nhau để thực hiện một truy vấn như execute() để thực hiện một câu lệnh trả về nhiều hơn một tập kết quả.

Các executeUpdate()phương thức thực hiện các truy vấn như INSERT, UPDATE, DELETE. CácexecuteQuery() phương thức cho kết quả trả về dữ liệu, v.v ... Sử dụng một trong hai phương thức này và thực hiện câu lệnh đã tạo trước đó.

Thí dụ

Ví dụ sau JDBC trình bày cách chèn dữ liệu vào bảng trong Apache Derby bằng cách sử dụng chương trình JDBC. Ở đây, chúng tôi đang kết nối với cơ sở dữ liệu có tên sampleDB (sẽ tạo nếu nó không tồn tại) bằng cách sử dụng trình điều khiển nhúng.

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

Đầu ra

Khi thực hiện chương trình trên, bạn sẽ nhận được kết quả sau:

Values inserted