📜  OrientDB-插入记录

📅  最后修改于: 2020-11-26 05:23:20             🧑  作者: Mango


OrientDB是一个NoSQL数据库,可以存储文档和面向图形的数据。 NoSQL数据库不包含任何表,因此如何插入数据作为记录。在这里,您可以以类,属性,顶点和边的形式查看表数据,这意味着类就像表,而属性像表中的文件。

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

以下语句是插入记录命令的基本语法。

INSERT INTO [class:]|cluster:|index: 
   [([,]*) VALUES ([,]*)[,]*]| 
   [SET  = |[,]*]| 
   [CONTENT {}] 
   [RETURN ]  
   [FROM ] 

以下是上述语法中有关选项的详细信息。

SET-定义每个字段及其值。

内容-定义JSON数据以设置字段值。这是可选的。

RETURN-定义要返回的表达式,而不是插入的记录数。最常见的用例是-

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

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

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

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

Sr.No. Field Name Type
1 Id Integer
2 Name String
3 Age Integer

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

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,名称和年龄字段。您可以通过对Customer表执行select查询来检查表。

OrientDB提供了插入记录的不同方法。考虑以下包含样本记录的客户表。

Sr.No. Name Age
1 Satish 25
2 Krishna 26
3 Kiran 29
4 Javeed 21
5 Raja 29

以下命令将第一条记录插入到客户表中。

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

下面的命令是将第二条记录插入到客户表中。

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

以下命令将第三条记录插入到客户表中。

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

下面的命令是将接下来的两个记录插入到客户表中。

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