OrientDB插入记录
OrientDB是一个NoSQL数据库,可以存储文档和面向图的数据。 NoSQL数据库不包含任何表,因此如何将数据作为记录插入。 这里可以看到表格数据以类,属性,顶点和边缘的形式表示类,就像表,属性就像表中的文件一样。
我们可以使用OrientDB中的模式定义所有这些实体。 属性数据可以插入到类中。 Insert命令在数据库模式中创建一个新记录。 记录可以是无模式的或遵循某些指定的规则。
以下语句是插入记录命令的基本语法。
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 | 整数 |
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执行所有命令后,您将获得具有id,name和age字段的表名Customer。 您可以通过在Customer表中执行select查询来检查表。
OrientDB提供了不同的方法来插入记录。 请考虑包含样本记录的以下客户表。
编号 | 名称 | 年龄 |
---|---|---|
1 | 萨蒂什 | 25 |
2 | 克里希纳 | 26 |
3 | 基兰 | 29 |
4 | Javeed | 21 |
五 | 拉贾 | 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 ----+-----+--------+----+-------+----