OrientDB - Insertar registro

OrientDB es una base de datos NoSQL que puede almacenar documentos y datos orientados a gráficos. La base de datos NoSQL no contiene ninguna tabla, entonces, ¿cómo puede insertar datos como un registro? Aquí puede ver los datos de la tabla en forma de clase, propiedad, vértice y borde, lo que significa que las clases son como tablas y las propiedades son como archivos en las tablas.

Podemos definir todas estas entidades usando schemaen OrientDB. Los datos de propiedad se pueden insertar en una clase. El comando Insertar crea un nuevo registro en el esquema de la base de datos. Los registros pueden ser sin esquema o seguir algunas reglas específicas.

La siguiente declaración es la sintaxis básica del comando Insertar registro.

INSERT INTO [class:]<class>|cluster:<cluster>|index:<index> 
   [(<field>[,]*) VALUES (<expression>[,]*)[,]*]| 
   [SET <field> = <expression>|<sub-command>[,]*]| 
   [CONTENT {<JSON>}] 
   [RETURN <expression>]  
   [FROM <query>]

A continuación se muestran los detalles sobre las opciones en la sintaxis anterior.

SET - Define cada campo junto con el valor.

CONTENT- Define datos JSON para establecer valores de campo. Esto es opcional.

RETURN- Define la expresión a devolver en lugar del número de registros insertados. Los casos de uso más comunes son:

  • @rid - Devuelve el ID de registro del nuevo registro.

  • @this - Devuelve el registro nuevo completo.

FROM - Dónde desea insertar el registro o un conjunto de resultados.

Ejemplo

Consideremos una tabla de clientes con los siguientes campos y tipos.

No Señor.Nombre del campoTipo
1Carné de identidadEntero
2NombreCuerda
3AñosEntero

Puede crear el esquema (tabla) ejecutando los siguientes comandos.

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

Después de ejecutar todos los comandos, obtendrá el nombre de la tabla Cliente con los campos de identificación, nombre y edad. Puede consultar la tabla ejecutando la consulta de selección en la tabla Cliente.

OrientDB proporciona diferentes formas de insertar un registro. Considere la siguiente tabla de clientes que contiene los registros de muestra.

No Señor.NombreAños
1Satish25
2Krishna26
3Kiran29
4Javeed21
5Raja29

El siguiente comando es insertar el primer registro en la tabla Cliente.

INSERT INTO Customer (id, name, age) VALUES (01,'satish', 25)

Si el comando anterior se ejecuta con éxito, obtendrá el siguiente resultado.

Inserted record 'Customer#11:0{id:1,name:satish,age:25} v1' in 0.069000 sec(s).

El siguiente comando es insertar el segundo registro en la tabla Cliente.

INSERT INTO Customer SET id = 02, name = 'krishna', age = 26

Si el comando anterior se ejecuta con éxito, obtendrá el siguiente resultado.

Inserted record 'Customer#11:1{id:2,age:26,name:krishna} v1' in 0.005000 sec(s).

El siguiente comando es insertar el tercer registro en la tabla Cliente.

INSERT INTO Customer CONTENT {"id": "03", "name": "kiran", "age": "29"}

Si el comando anterior se ejecuta con éxito, obtendrá el siguiente resultado.

Inserted record 'Customer#11:2{id:3,name:kiran,age:29} v1' in 0.004000 sec(s).

El siguiente comando es insertar los siguientes dos registros en la tabla Cliente.

INSERT INTO Customer (id, name, age) VALUES (04,'javeed', 21), (05,'raja', 29)

Si el comando anterior se ejecuta con éxito, obtendrá el siguiente resultado.

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

Puede verificar si todos estos registros están insertados o no ejecutando el siguiente comando.

SELECT FROM Customer

Si el comando anterior se ejecuta con éxito, obtendrá el siguiente resultado.

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