OrientDB - Chèn bản ghi

OrientDB là một cơ sở dữ liệu NoSQL có thể lưu trữ các tài liệu và dữ liệu hướng đồ thị. Cơ sở dữ liệu NoSQL không chứa bất kỳ bảng nào, vì vậy làm thế nào bạn có thể chèn dữ liệu dưới dạng bản ghi. Ở đây bạn có thể thấy dữ liệu bảng ở dạng lớp, thuộc tính, đỉnh và cạnh nghĩa là các lớp giống như bảng và thuộc tính giống như tệp trong bảng.

Chúng tôi có thể xác định tất cả các thực thể này bằng cách sử dụng schematrong OrientDB. Dữ liệu thuộc tính có thể được chèn vào một lớp. Lệnh Insert tạo một bản ghi mới trong lược đồ cơ sở dữ liệu. Bản ghi có thể ít giản đồ hơn hoặc tuân theo một số quy tắc cụ thể.

Câu lệnh sau là cú pháp cơ bản của lệnh Insert Record.

INSERT INTO [class:]<class>|cluster:<cluster>|index:<index> 
   [(<field>[,]*) VALUES (<expression>[,]*)[,]*]| 
   [SET <field> = <expression>|<sub-command>[,]*]| 
   [CONTENT {<JSON>}] 
   [RETURN <expression>]  
   [FROM <query>]

Sau đây là chi tiết về các tùy chọn trong cú pháp trên.

SET - Xác định từng trường cùng với giá trị.

CONTENT- Định nghĩa dữ liệu JSON để đặt giá trị trường. Đây là tùy chọn.

RETURN- Định nghĩa biểu thức trả về thay vì số lượng bản ghi được chèn vào. Các trường hợp sử dụng phổ biến nhất là -

  • @rid - Trả về ID bản ghi của bản ghi mới.

  • @this - Trả về toàn bộ bản ghi mới.

FROM - Nơi bạn muốn chèn bản ghi hoặc tập hợp kết quả.

Thí dụ

Chúng ta hãy xem xét một bảng Khách hàng với các trường và loại sau.

Sr.No. Tên trường Kiểu
1 Tôi Số nguyên
2 Tên Chuỗi
3 Tuổi tác Số nguyên

Bạn có thể tạo Lược đồ (bảng) bằng cách thực hiện các lệnh sau.

CREATE DATABASE PLOCAL:/opt/orientdb/databases/sales 
CREATE CLASS Customer 
CREATE PROPERTY Customer.id integer 
CREATE PROPERTY Customer.name String 
CREATE PROPERTY Customer.age integer

Sau khi thực hiện tất cả các lệnh, bạn sẽ nhận được tên bảng Khách hàng với các trường id, name và age. Bạn có thể kiểm tra bảng bằng cách thực hiện truy vấn chọn vào bảng Khách hàng.

OrientDB cung cấp các cách khác nhau để chèn bản ghi. Hãy xem xét bảng Khách hàng sau có chứa các bản ghi mẫu.

Sr.No. Tên Tuổi tác
1 Hài lòng 25
2 Krishna 26
3 Kiran 29
4 Javeed 21
5 Raja 29

Lệnh sau để chèn bản ghi đầu tiên vào bảng Khách hàng.

INSERT INTO Customer (id, name, age) VALUES (01,'satish', 25)

Nếu lệnh trên được thực hiện thành công, bạn sẽ nhận được kết quả sau.

Inserted record 'Customer#11:0{id:1,name:satish,age:25} v1' in 0.069000 sec(s).

Lệnh sau để chèn bản ghi thứ hai vào bảng Khách hàng.

INSERT INTO Customer SET id = 02, name = 'krishna', age = 26

Nếu lệnh trên được thực hiện thành công, bạn sẽ nhận được kết quả sau.

Inserted record 'Customer#11:1{id:2,age:26,name:krishna} v1' in 0.005000 sec(s).

Lệnh sau để chèn bản ghi thứ ba vào bảng Khách hàng.

INSERT INTO Customer CONTENT {"id": "03", "name": "kiran", "age": "29"}

Nếu lệnh trên được thực hiện thành công, bạn sẽ nhận được kết quả sau.

Inserted record 'Customer#11:2{id:3,name:kiran,age:29} v1' in 0.004000 sec(s).

Lệnh sau là để chèn hai bản ghi tiếp theo vào bảng Khách hàng.

INSERT INTO Customer (id, name, age) VALUES (04,'javeed', 21), (05,'raja', 29)

Nếu lệnh trên được thực hiện thành công, bạn sẽ nhận được kết quả sau.

Inserted record '[Customer#11:3{id:4,name:javeed,age:21} v1,
Customer#11:4{id:5,name:raja,age:29} v1]' in 0.007000 sec(s).

Bạn có thể kiểm tra xem tất cả các bản ghi này đã được chèn hay chưa bằng cách thực hiện lệnh sau.

SELECT FROM Customer

Nếu lệnh trên được thực hiện thành công, bạn sẽ nhận được kết quả sau.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
2   |#11:2|Customer|3   |kiran  |29 
3   |#11:3|Customer|4   |javeed |21 
4   |#11:4|Customer|5   |raja   |29   
----+-----+--------+----+-------+----