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
– 想要插入记录或结果集的位置。
示例
假设有一个包含以下字段和类型的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
----+-----+--------+----+-------+----