OrientDB - Insérer un enregistrement

OrientDB est une base de données NoSQL qui peut stocker les documents et les données orientées graph. La base de données NoSQL ne contient aucune table, alors comment pouvez-vous insérer des données en tant qu'enregistrement. Ici, vous pouvez voir les données de la table sous la forme de classe, de propriété, de sommet et d'arête, ce qui signifie que les classes sont comme des tables et les propriétés sont comme des fichiers dans les tables.

Nous pouvons définir toutes ces entités en utilisant schemadans OrientDB. Les données de propriété peuvent être insérées dans une classe. La commande Insérer crée un nouvel enregistrement dans le schéma de base de données. Les enregistrements peuvent être sans schéma ou suivre certaines règles spécifiées.

L'instruction suivante est la syntaxe de base de la commande Insérer un enregistrement.

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

Voici les détails des options de la syntaxe ci-dessus.

SET - Définit chaque champ avec la valeur.

CONTENT- Définit les données JSON pour définir les valeurs de champ. Ceci est facultatif.

RETURN- Définit l'expression à renvoyer au lieu du nombre d'enregistrements insérés. Les cas d'utilisation les plus courants sont -

  • @rid - Renvoie l'ID d'enregistrement du nouvel enregistrement.

  • @this - Renvoie le nouvel enregistrement entier.

FROM - Où vous souhaitez insérer l'enregistrement ou un jeu de résultats.

Exemple

Considérons une table Customer avec les champs et types suivants.

N ° Sr.Nom de domaineType
1IdEntier
2NomChaîne
3ÂgeEntier

Vous pouvez créer le schéma (table) en exécutant les commandes suivantes.

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

Après avoir exécuté toutes les commandes, vous obtiendrez le nom de table Customer avec les champs id, name et age. Vous pouvez vérifier la table en exécutant une requête de sélection dans la table Customer.

OrientDB propose différentes manières d'insérer un enregistrement. Considérez la table Client suivante contenant les exemples d'enregistrements.

N ° Sr.NomÂge
1Satish25
2Krishna26
3Kiran29
4Javeed21
5Raja29

La commande suivante consiste à insérer le premier enregistrement dans la table Customer.

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

Si la commande ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

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

La commande suivante consiste à insérer le deuxième enregistrement dans la table Client.

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

Si la commande ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

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

La commande suivante consiste à insérer le troisième enregistrement dans la table Client.

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

Si la commande ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

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

La commande suivante consiste à insérer les deux enregistrements suivants dans la table Client.

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

Si la commande ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

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

Vous pouvez vérifier si tous ces enregistrements sont insérés ou non en exécutant la commande suivante.

SELECT FROM Customer

Si la commande ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

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