OrientDB – 插入记录
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 – 要插入记录或结果集的位置。
例子
让我们考虑具有以下字段和类型的 Customer 表。
Sr.No. | 字段名称 | 类型 |
---|---|---|
1 | ID | 整数 |
2 | 名称 | 细绳 |
3 | 年龄 | 整数 |
您可以通过执行以下命令来创建 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 表。
Sr.No. | 名称 | 年龄 |
---|---|---|
1 | 萨蒂什 | 25 |
2 | 克里希纳 | 26 |
3 | 基兰 | 29 |
4 | 贾维德 | 21 |
5 | 拉惹 | 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 ----+-----+--------+----+-------+----