OrientDB教程

OrientDB 插入记录

OrientDB 是一个 NoSQL 数据库,可以存储文档和面向图的数据。 NoSQL 数据库不包含任何表,那么如何将数据作为记录插入。在这里你可以看到类、属性、顶点、边等形式的表格数据,意思是类就像表格,属性就像表格中的文件。
我们可以使用 OrientDB 中的 schema 定义所有这些实体。属性数据可以插入到一个类中。插入命令在数据库模式中创建一条新记录。记录可以是无模式的,也可以遵循一些指定的规则。
以下语句是插入记录命令的基本语法。
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 表。
字段名称 类型
身份证 整数
姓名 字符串
年龄 整数
您可以通过执行以下命令来创建 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 表。
姓名 年龄
萨蒂什
克里希纳
基兰
贾维德
王爷
下面的命令是将第一条记录插入到客户表中。
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).
下面的命令是将接下来的两条记录插入到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   
----+-----+--------+----+-------+----
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4