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