OrientDB - Wstaw rekord
OrientDB to baza danych NoSQL, która może przechowywać dokumenty i dane graficzne. Baza danych NoSQL nie zawiera żadnej tabeli, więc jak wstawić dane jako rekord. Tutaj możesz zobaczyć dane tabeli w postaci klasy, właściwości, wierzchołka i krawędzi, co oznacza, że klasy są jak tabele, a właściwości są jak pliki w tabelach.
Wszystkie te jednostki możemy zdefiniować za pomocą schemaw OrientDB. Dane właściwości można wstawiać do klasy. Polecenie Insert tworzy nowy rekord w schemacie bazy danych. Rekordy mogą być pozbawione schematu lub podlegać pewnym określonym regułom.
Poniższa instrukcja przedstawia podstawową składnię polecenia Wstaw rekord.
INSERT INTO [class:]<class>|cluster:<cluster>|index:<index>
[(<field>[,]*) VALUES (<expression>[,]*)[,]*]|
[SET <field> = <expression>|<sub-command>[,]*]|
[CONTENT {<JSON>}]
[RETURN <expression>]
[FROM <query>]
Poniżej znajdują się szczegółowe informacje na temat opcji w powyższej składni.
SET - Definiuje każde pole wraz z wartością.
CONTENT- Definiuje dane JSON do ustawiania wartości pól. To jest opcjonalne.
RETURN- Definiuje wyrażenie do zwrócenia zamiast liczby wstawionych rekordów. Najczęstsze przypadki użycia to -
@rid - Zwraca identyfikator nowego rekordu.
@this - Zwraca cały nowy rekord.
FROM - Gdzie chcesz wstawić rekord lub zestaw wyników.
Przykład
Rozważmy tabelę klientów z następującymi polami i typami.
Sr.No. | Nazwa pola | Rodzaj |
---|---|---|
1 | ID | Liczba całkowita |
2 | Nazwa | Strunowy |
3 | Wiek | Liczba całkowita |
Możesz utworzyć schemat (tabelę), wykonując następujące polecenia.
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
Po wykonaniu wszystkich poleceń otrzymasz nazwę tabeli Customer z polami id, name i age. Możesz sprawdzić tabelę, wykonując zapytanie wybierające do tabeli Customer.
OrientDB udostępnia różne sposoby wstawiania rekordu. Rozważ następującą tabelę Customer zawierającą przykładowe rekordy.
Sr.No. | Nazwa | Wiek |
---|---|---|
1 | Satish | 25 |
2 | Kryszna | 26 |
3 | Kiran | 29 |
4 | Javeed | 21 |
5 | Radża | 29 |
Następujące polecenie służy do wstawienia pierwszego rekordu do tabeli Customer.
INSERT INTO Customer (id, name, age) VALUES (01,'satish', 25)
Jeśli powyższe polecenie zostanie pomyślnie wykonane, otrzymasz następujące dane wyjściowe.
Inserted record 'Customer#11:0{id:1,name:satish,age:25} v1' in 0.069000 sec(s).
Następujące polecenie służy do wstawienia drugiego rekordu do tabeli Customer.
INSERT INTO Customer SET id = 02, name = 'krishna', age = 26
Jeśli powyższe polecenie zostanie pomyślnie wykonane, otrzymasz następujące dane wyjściowe.
Inserted record 'Customer#11:1{id:2,age:26,name:krishna} v1' in 0.005000 sec(s).
Następujące polecenie służy do wstawienia trzeciego rekordu do tabeli Customer.
INSERT INTO Customer CONTENT {"id": "03", "name": "kiran", "age": "29"}
Jeśli powyższe polecenie zostanie pomyślnie wykonane, otrzymasz następujące dane wyjściowe.
Inserted record 'Customer#11:2{id:3,name:kiran,age:29} v1' in 0.004000 sec(s).
Następujące polecenie służy do wstawienia kolejnych dwóch rekordów do tabeli Customer.
INSERT INTO Customer (id, name, age) VALUES (04,'javeed', 21), (05,'raja', 29)
Jeśli powyższe polecenie zostanie pomyślnie wykonane, otrzymasz następujące dane wyjściowe.
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).
Możesz sprawdzić, czy wszystkie te rekordy zostały wstawione, czy nie, wykonując następujące polecenie.
SELECT FROM Customer
Jeśli powyższe polecenie zostanie pomyślnie wykonane, otrzymasz następujące dane wyjściowe.
----+-----+--------+----+-------+----
# |@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
----+-----+--------+----+-------+----