Uso della console per recuperare i dati

Scopri come visualizzare e scaricare i dati delle tabelle di Oracle NoSQL Database Cloud Service utilizzando la console.

Questo articolo contiene i seguenti argomenti:

Visualizzazione dei dati della tabella

Scopri come visualizzare i dati nelle tabelle di Oracle NoSQL Database Cloud Service dalla console NoSQL.

Per visualizzare i dati di una tabella, effettuare le operazioni riportate di seguito.
  1. Accedere alla console NoSQL dalla console dell'infrastruttura. Vedere Accesso al servizio dalla console dell'infrastruttura.
  2. La console NoSQL elenca tutte le tabelle nella tenancy. Per visualizzare i dettagli della tabella, effettuare una delle operazioni riportate di seguito.
    • Fare clic sul nome della tabella oppure
    • Fare clic sul menu delle azioni corrispondente al nome della tabella e selezionare Visualizza dettagli.
    Viene visualizzata la pagina Dettagli tabella.
  3. Nella pagina Dettagli tabella, selezionare la scheda Esplora dati in Risorse.
  4. Per impostazione predefinita, il testo dell'interrogazione viene popolato con una query SQL che recupererà tutti i record dalla tabella. È possibile modificare questa query con qualsiasi istruzione SQL valida per Oracle NoSQL. È possibile che venga visualizzato un errore che indica che l'istruzione è incompleta o errata. Vedere Debug degli errori delle istruzioni SQL nella console OCI per informazioni sui possibili errori nella console OCI e su come correggerli. Per esempi di query SQL, vedere Developers Guide.
  5. Fare clic su Esegui.
    I dati della tabella vengono visualizzati nella sezione Record.
  6. Per visualizzare il piano di esecuzione query della query SQL eseguita, fare clic su Mostra piano di esecuzione query. Il piano di esecuzione query dettagliato viene visualizzato in una nuova finestra.

Download dei dati tabella in corso

Scopri come scaricare i dati nelle tabelle di Oracle NoSQL Database Cloud Service dalla console NoSQL.

Per scaricare i dati della tabella:
  1. Accedere alla console NoSQL dalla console dell'infrastruttura. Vedere Accesso al servizio dalla console dell'infrastruttura.
  2. La console NoSQL elenca tutte le tabelle nella tenancy. Per visualizzare i dettagli della tabella, effettuare una delle operazioni riportate di seguito.
    • Fare clic sul nome della tabella oppure
    • Fare clic sul menu delle azioni corrispondente al nome della tabella e selezionare Visualizza dettagli.
    Viene visualizzata la pagina Dettagli tabella.
  3. Nella pagina Dettagli tabella, selezionare la scheda Esplora dati in Risorse.
  4. Per impostazione predefinita, il testo dell'interrogazione viene popolato con una query SQL che recupererà tutti i record dalla tabella. È possibile modificare questa query con qualsiasi istruzione SQL valida per Oracle NoSQL. È possibile che venga visualizzato un errore che indica che l'istruzione è incompleta o errata. Vedere Debug degli errori delle istruzioni SQL nella console OCI per informazioni sui possibili errori nella console OCI e su come correggerli. Per esempi di query SQL, vedere Developers Guide.
  5. Fare clic sul menu delle azioni corrispondente alla riga che si desidera scaricare e selezionare Scarica JSON.
    La riga viene scaricata in formato JSON.

Uso dei comandi SQL per recuperare i dati

È possibile utilizzare l'istruzione SQL SELECT per recuperare i dati dalla tabella NoSQL.

Recupero di tutte le righe da una tabella

È possibile scegliere le colonne da una tabella. A tale scopo, elencare i nomi delle colonne di tabella desiderate dopo SELECT nell'istruzione. Assegnare il nome della tabella dopo la clausola FROM. Per recuperare i dati da una tabella figlio, utilizzare la notazione punto, ad esempio parent.child. Per scegliere tutte le colonne della tabella, utilizzare il carattere jolly asterisco (*). L'istruzione SELECT può anche contenere espressioni computazionali basate sui valori delle colonne esistenti.

Esempio 1: scegliere tutti i dati dalla tabella BaggageInfo.
SELECT * FROM BaggageInfo

Spiegazione: lo schema BaggageInfo contiene alcuni campi statici fissi e una colonna JSON. I campi statici sono il numero di ticket, il nome completo, il sesso, il telefono del contatto e il numero di conferma. Le informazioni sul bag vengono memorizzate come JSON e popolate con un array di documenti.

Output (visualizzazione solo di una riga del risultato per brevità):
{"ticketNo":1762330498104,"fullName":"Michelle Payne","gender":"F","contactPhone":"575-781-6240","confNo":"RL3J4Q",
"bagInfo":[{
   "bagArrivalDate":"2019-02-02T23:59:00Z",   
   "flightLegs":[
      {"actions":[
           {"actionAt":"SFO","actionCode":"ONLOAD to IST","actionTime":"2019-02-02T12:10:00Z"},          
           {"actionAt":"SFO","actionCode":"BagTag Scan at SFO","actionTime":"2019-02-02T11:47:00Z"},
           {"actionAt":"SFO","actionCode":"Checkin at SFO","actionTime":"2019-02-02T10:01:00Z"}],
           "estimatedArrival":"2019-02-03T01:00:00Z", 
           "flightDate":"2019-02-02T12:00:00Z",
           "flightNo":"BM318",
           "fltRouteDest":"IST",
           "fltRouteSrc":"SFO"}, 
      {"actions":[
           {"actionAt":"IST","actionCode":"ONLOAD to ATH","actionTime":"2019-02-03T13:06:00Z"},
           {"actionAt":"IST","actionCode":"BagTag Scan at IST","actionTime":"2019-02-03T12:48:00Z"},
           {"actionAt":"IST","actionCode":"OFFLOAD from IST","actionTime":"2019-02-03T13:00:00Z"}],
           "estimatedArrival":"2019-02-03T12:12:00Z",
           "flightDate":"2019-02-02T13:10:00Z",
           "flightNo":"BM696",
           "fltRouteDest":"ATH",
           "fltRouteSrc":"IST"},
      {"actions":[
           {"actionAt":"JTR","actionCode":"Offload to Carousel at JTR","actionTime":"2019-02-03T00:06:00Z"}, 
           {"actionAt":"ATH","actionCode":"ONLOAD to JTR","actionTime":"2019-02-03T00:13:00Z"},
           {"actionAt":"ATH","actionCode":"OFFLOAD from ATH","actionTime":"2019-02-03T00:10:00Z"}],
           "estimatedArrival":"2019-02-03T00:12:00Z",
           "flightDate":"2019-2-2T12:10:00Z",
           "flightNo":"BM665",
           "fltRouteDest":"JTR",
           "fltRouteSrc":"ATH"}],  
     "id":"79039899186259",
     "lastActionCode":"OFFLOAD",
     "lastActionDesc":"OFFLOAD",
     "lastSeenStation":"JTR",
     "lastSeenTimeGmt":"2019-02-02T23:59:00Z",
     "routing":"SFO/IST/ATH/JTR",
     "tagNum":"17657806247861"}
]}
Esempio 2: per scegliere colonne specifiche dalla tabella BaggageInfo, includere i nomi delle colonne come elenco separato da virgole nell'istruzione SELECT.
SELECT fullName, contactPhone, gender FROM BaggageInfo

Spiegazione: si desidera visualizzare i valori di tre campi statici: nome completo, numero di telefono e sesso.

Output:
{"fullName":"Lucinda Beckman","contactPhone":"364-610-4444","gender":"M"}
{"fullName":"Adelaide Willard","contactPhone":"421-272-8082","gender":"M"}
{"fullName":"Raymond Griffin","contactPhone":"567-710-9972","gender":"F"}
{"fullName":"Elane Lemons","contactPhone":"600-918-8404","gender":"F"}
{"fullName":"Zina Christenson","contactPhone":"987-210-3029","gender":"M"}
{"fullName":"Zulema Martindale","contactPhone":"666-302-0028","gender":"F"}
{"fullName":"Dierdre Amador","contactPhone":"165-742-5715","gender":"M"}
{"fullName":"Henry Jenkins","contactPhone":"960-428-3843","gender":"F"}
{"fullName":"Rosalia Triplett","contactPhone":"368-769-5636","gender":"F"}
{"fullName":"Lorenzo Phil","contactPhone":"364-610-4444","gender":"M"}
{"fullName":"Gerard Greene","contactPhone":"395-837-3772","gender":"M"}
{"fullName":"Adam Phillips","contactPhone":"893-324-1064","gender":"M"}
{"fullName":"Doris Martin","contactPhone":"289-564-3497","gender":"F"}
{"fullName":"Joanne Diaz","contactPhone":"334-679-5105","gender":"F"}
{"fullName":"Omar Harvey","contactPhone":"978-191-8550","gender":"F"}
{"fullName":"Fallon Clements","contactPhone":"849-731-1334","gender":"M"}
{"fullName":"Lisbeth Wampler","contactPhone":"796-709-9501","gender":"M"}
{"fullName":"Teena Colley","contactPhone":"539-097-5220","gender":"M"}
{"fullName":"Michelle Payne","contactPhone":"575-781-6240","gender":"F"}
{"fullName":"Mary Watson","contactPhone":"131-183-0560","gender":"F"}
{"fullName":"Kendal Biddle","contactPhone":"619-956-8760","gender":"F"}
Esempio 3: scegliere tutti i dati dalla tabella stream_acct.
SELECT * FROM stream_acct

Spiegazione: lo schema stream_acct contiene alcuni campi statici fissi e una colonna JSON.

Output (visualizzazione solo di una riga del risultato per brevità):

{"acct_id":1,"profile_name":"AP","account_expiry":"2023-10-18T00:00:00.0Z",
"acct_data":{
[{
   "showName": "At the Ranch",
   "showId": 26,
   "showtype": "tvseries",
   "genres": ["action", "crime", "spanish"],
   "numSeasons": 4,
   "seriesInfo": [{
      "seasonNum": 1,
      "numEpisodes": 2,
      "episodes": [{
         "episodeID": 20,
         "episodeName": "Season 1 episode 1",
         "lengthMin": 85,
         "minWatched": 85,
         "date": "2022-04-18"
      },
      {
         "episodeID": 30,
         "lengthMin": 60,
         "episodeName": "Season 1 episode 2",
         "minWatched": 60,
         "date": "2022 - 04 - 18 "
      }]
   },
   {
      "seasonNum": 2,
      "numEpisodes": 2,
      "episodes": [{
         "episodeID": 40,
         "episodeName": "Season 2 episode 1",
         "lengthMin": 50,
         "minWatched": 50,
         "date": "2022-04-25"
      },
      {
         "episodeID": 50,
         "episodeName": "Season 2 episode 2",
         "lengthMin": 45,
         "minWatched": 30,
         "date": "2022-04-27"
      }]
   },
   {
      "seasonNum": 3,
      "numEpisodes": 2,
      "episodes": [{
         "episodeID": 60,
         "episodeName": "Season 3 episode 1",
         "lengthMin": 50,
         "minWatched": 50,
         "date": "2022-04-25"
      },
      {
         "episodeID": 70,
         "episodeName": "Season 3 episode 2",
         "lengthMin": 45,
         "minWatched": 30,
         "date": "2022 - 04 - 27 "
      }]
   }]
},
{
   "showName": "Bienvenu",
   "showId": 15,
   "showtype": "tvseries",
   "genres": ["comedy", "french"],
   "numSeasons": 2,
   "seriesInfo": [{
      "seasonNum": 1,
      "numEpisodes": 2,
      "episodes": [{
         "episodeID": 20,
         "episodeName": "Bonjour",
         "lengthMin": 45,
         "minWatched": 45,
         "date": "2022-03-07"
      },
      {
         "episodeID": 30,
         "episodeName": "Merci",
         "lengthMin": 42,
         "minWatched": 42,
         "date": "2022-03-08"
      }]
   }]
}]}}

Filtrare i dati da una tabella

È possibile filtrare i risultati della query specificando una condizione di filtro nella clausola WHERE. In genere, una condizione di filtro è costituita da una o più espressioni di confronto collegate tramite operatori logici AND o OR. Sono inoltre supportati i seguenti operatori di confronto: =, !=, >, >=, < e <= .

Esempio 1: trovare il numero di cartellino del bagaglio di un passeggero insieme al nome completo del passeggero per un determinato numero di prenotazione FH7G1W.
SELECT bag.fullName, bag.bagInfo[].tagNum FROM BaggageInfo bag
WHERE bag.confNo="FH7G1W"

Spiegazione: il numero di cartellino corrispondente a un determinato numero di prenotazione viene recuperato.

Output:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913"}

Nota

Per una migliore comprensione, la riga di dati con tutti i campi statici e JSON bagInfo viene visualizzata di seguito.
"ticketNo" : 1762344493810,
"fullName" : "Adam Phillips",
"gender" : "M",
"contactPhone" : "893-324-1064",
"confNo" : "LE6J4Z",
 [ {
    "id" : "79039899165297",
    "tagNum" : "17657806255240",
    "routing" : "MIA/LAX/MEL",
    "lastActionCode" : "OFFLOAD",
    "lastActionDesc" : "OFFLOAD",
    "lastSeenStation" : "MEL",
    "flightLegs" : [ {
      "flightNo" : "BM604",
      "flightDate" : "2019-02-01T01:00:00",
      "fltRouteSrc" : "MIA",
      "fltRouteDest" : "LAX",
      "estimatedArrival" : "2019-02-01T03:00:00",
      "actions" : [ {
        "actionAt" : "MIA",
        "actionCode" : "ONLOAD to LAX",
        "actionTime" : "2019-02-01T01:13:00"
      }, {
        "actionAt" : "MIA",
        "actionCode" : "BagTag Scan at MIA",
        "actionTime" : "2019-02-01T00:47:00"
      }, {
        "actionAt" : "MIA",
        "actionCode" : "Checkin at MIA",
        "actionTime" : "2019-02-01T23:38:00"
      } ]
    }, {
      "flightNo" : "BM667",
      "flightDate" : "2019-01-31T22:13:00",
      "fltRouteSrc" : "LAX",
      "fltRouteDest" : "MEL",
      "estimatedArrival" : "2019-02-02T03:15:00",
      "actions" : [ {
        "actionAt" : "MEL",
        "actionCode" : "Offload to Carousel at MEL",
        "actionTime" : "2019-02-02T03:15:00"
      }, {
        "actionAt" : "LAX",
        "actionCode" : "ONLOAD to MEL",
        "actionTime" : "2019-02-01T07:35:00"
      }, {
        "actionAt" : "LAX",
        "actionCode" : "OFFLOAD from LAX",
        "actionTime" : "2019-02-01T07:18:00"
      } ]
    } ],
    "lastSeenTimeGmt" : "2019-02-02T03:13:00",
    "bagArrivalDate" : "2019.02.02T03:13:00"
  } ]
Esempio 2: dove è stato visto per l'ultima volta il bagaglio con un determinato numero di prenotazione FH7G1W? Inoltre, recuperare il numero di tag del bagaglio.
SELECT bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag WHERE bag.confNo="FH7G1W"

Spiegazione: bagInfo è JSON e viene popolato con un array di documenti. Il nome completo e l'ultima stazione visibile possono essere recuperati per un determinato numero di prenotazione.

Output:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913",
"lastSeenStation":"VIE"}
Esempio 3: selezionare i dettagli delle borse (etichetta e ora dell'ultima visualizzazione) per un passeggero con numero di biglietto 1762340579411.
SELECT bag.ticketNo, bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag where bag.ticketNo=1762320369957

Spiegazione: bagInfo è JSON e viene popolato con un array di documenti. Il nome completo, il numero di tag e l'ultima stazione visualizzata possono essere recuperati per un determinato numero di ticket.

Output:
{"fullName":"Lorenzo Phil","tagNum":["17657806240001","17657806340001"],
"lastSeenStation":["JTR","JTR"]}
Esempio 4: recuperare il cognome, la data di scadenza dell'account e gli spettacoli controllati dall'utente con acct_id 1.
SELECT account_expiry, acct.acct_data.lastName, acct.acct_data.contentStreamed[].showName FROM stream_acct acct WHERE acct_id=1

Spiegazione: acct_data è JSON e viene popolato con un array di documenti. Il cognome, la data di scadenza del conto e i nomi visualizzati vengono recuperati per un determinato ID conto.

Output:
{"account_expiry":"2023-10-18T00:00:00.0Z","lastName":"Phillips","showName":["At the Ranch","Bienvenu"]}