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
執行完所有命令後,將得到具有id
,name
和age
字段的一個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
----+-----+--------+----+-------+----