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 - 定义要返回的表达式,而不是插入的记录数。最常见的用例是 -

  • @rid - 返回新记录的记录 ID。

  • @this - 返回整个新记录。

FROM - 您想要插入记录或结果集的位置。

例子

让我们考虑一个具有以下字段和类型的客户表。

先生。字段名称类型
1ID整数
2姓名细绳
3年龄整数

您可以通过执行以下命令来创建架构(表)。

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

执行完所有命令后,您将获得表名 Customer,其中包含 id、name 和age 字段。您可以通过对 Customer 表执行 select 查询来检查该表。

OrientDB提供了不同的方式来插入记录。考虑以下包含示例记录的客户表。

先生。姓名年龄
1萨蒂什25
2克里希纳26
3基兰29
4贾维德21
5拉贾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   
----+-----+--------+----+-------+----