L'istruzione INSERT
crea un nuovo record che può essere più o meno aderente alla struttura della classe, a seconda che stiamo lavorando in modalità schema-full o meno.
I dati per il nuovo inserimento possono essere passati in tre formati:
- SQL-92, molto simile a quanto si farebbe nel mondo relazionale:
INSERT INTO Persona (nome, cognome, eta) VALUES ('Silvio', 'Bianchi', 32)
- sintassi abbreviata, propria di OrientDB:
INSERT INTO Persona SET nome='Silvio', cognome='Bianchi', eta=32
- JSON, molto confacente all'ambiente NoSQL. In questo caso si usa la parola chiave
CONTENT
e le coppie chiave/valore sono incluse in un oggetto JSON:
INSERT INTO Persona CONTENT {"nome":"Silvio", "cognome":"Bianchi", "eta":32}
L'inserimento multiplo di più record può essere effettuato nel seguente modo:
INSERT INTO Persona (nome, cognome, eta) VALUES ('Silvio', 'Bianchi', 32), ('Enzo', 'Neri', 21), ('Luca', 'Gialli', 56), ('Enrico', 'Grigi', 73)
Negli esempi precedenti abbiamo visto come inserire record in una specifica classe. Come si è detto, però, il modello a oggetti di OrientDB memorizza i dati all'interno dei cluster. Per questo motivo, un comando INSERT
può avere come destinazione un singolo cluster, indipendentemente dalla classe cui è connesso. A tale scopo, si utilizza il suffisso cluster:
, come mostrato nell'esempio seguente:
INSERT INTO cluster:allievi (nome, cognome, eta) VALUES ('Silvio', 'Bianchi', 32)