OrientDB - 插入记录



OrientDB 是一个 NoSQL 数据库,可以存储文档和面向图的数据。NoSQL 数据库不包含任何表,那么如何插入数据作为记录呢?在这里您可以看到以类、属性、顶点和边的形式呈现的表数据,这意味着类就像表,属性就像表中的字段。

我们可以使用 OrientDB 中的模式来定义所有这些实体。属性数据可以插入到类中。insert 命令在数据库模式中创建一个新记录。记录可以是无模式的,也可以遵循某些指定的规则。

以下语句是 Insert Record 命令的基本语法。

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 − 您想要插入记录或结果集的位置。

示例

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

序号字段名称类型
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 提供了不同的方法来插入记录。考虑以下包含示例记录的 Customer 表。

序号姓名年龄
1Satish25
2Krishna26
3Kiran29
4Javeed21
5Raja29

以下命令用于将第一条记录插入 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   
----+-----+--------+----+-------+---- 
广告
© . All rights reserved.