OrientDB插入記錄

OrientDB是一個NoSQL數據庫,可以存儲文檔和麪向圖形的數據。 NoSQL數據庫不包含任何表,那麼要如何將數據作爲記錄插入?在這裏,您可以以類,屬性,頂點和邊的形式查看錶數據,類表就像表,屬性就像表中的文件。

可以在OrientDB中使用模式定義所有這些實體。 屬性數據可以被插入到一個類中。 插入命令在數據庫模式中創建一條新記錄。 記錄可以無模式或遵循一些指定的規則。

以下語句是「插入記錄」命令的基本語法。

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

以下是有關上述語法中選項的詳細信息。

  • SET - 定義每個字段和值。
  • CONTENT - 定義JSON數據以設置字段值。 這是可選的。
  • RETURN - 定義要返回的表達式而不是插入的記錄數。 最常見的用例是 -
    • [](https://github.com/rid "@rid")[@rid](https://github.com/rid "@rid") - 返回新記錄的記錄ID。
    • [](https://github.com/this "@this")[@this](https://github.com/this "@this") - 返回整個新記錄。
  • FROM - 想要插入記錄或結果集的位置。

示例

假設有一個包含以下字段和類型的Customer表。

編號

字段名稱

描述

1

ID

Integer

2

Name

String

3

Age

Integer

可以通過執行以下命令來創建Schema(表)。

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

執行完所有命令後,將得到具有idnameage字段的一個Customer表。 可以通過在Customer表中執行select查詢來檢查表中的數據。

OrientDB提供了插入記錄的不同方法。 考慮下面的包含示例記錄的Customer表。

編號

名字

年齡

1

Satish

25

2

Krishna

26

3

Kiran

29

4

Javeed

21

5

Raja

29

以下命令將第一條記錄插入到Customer表中。

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

如果上述命令成功執行,您將得到以下輸出。

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

以下命令將第二條記錄插入到Customer表中。

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

如果上述命令成功執行,您將得到以下輸出。

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

以下命令將第三條記錄插入Customer表中。

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

如果上述命令成功執行,您將得到以下輸出。

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

以下命令將插入到Customer表中的下兩條記錄。

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

如果上述命令成功執行,您將得到以下輸出。

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).

可以通過執行以下命令來檢查是否插入了所有這些記錄。

SELECT * FROM Customer

如果上述命令成功執行,您將得到以下輸出。

----+-----+--------+----+-------+---- 
#   |@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   
----+-----+--------+----+-------+----