Utilizzo di Console per recuperare i dati

Scopri come visualizzare e scaricare i dati della tabella di Oracle NoSQL Database Cloud Service mediante Console.

Questo articolo contiene i seguenti argomenti:

Visualizzazione dei dati della tabella

Informazioni su 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 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 un'interrogazione 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 risolverli. Per esempi di query SQL, vedere Developers Guide.

  5. Selezionare Esegui.

    I dati della tabella vengono visualizzati nella sezione Record.

  6. Per visualizzare il piano di esecuzione delle query della query SQL eseguita, selezionare Mostra piano di esecuzione query. Il piano di esecuzione query dettagliato viene visualizzato in una nuova finestra.

Download dei 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 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 risolverli. Per esempi di query SQL, vedere Developers Guide.

  5. Fare clic sul menu delle azioni corrispondente alla riga da scaricare e selezionare Scarica JSON.

    La riga viene scaricata in formato JSON.

Utilizzo 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. Si assegna il nome della tabella dopo la clausola FROM. Per recuperare i dati da una tabella figlio, utilizzare la notazione con punti, ad esempio parent.child. Per selezionare 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: selezionare 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 vengono popolate con un array di documenti.

Output (visualizzando solo 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 lista separata 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 (visualizzando solo 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 delle query specificando una condizione di filtro nella clausola WHERE. In genere, una condizione di filtro è costituita da una o più espressioni di confronto connesse tramite operatori logici AND o OR. Sono supportati anche 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: viene recuperato il numero di cartellino corrispondente a un determinato numero di prenotazione.

Output:

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

Nota: per una migliore comprensione, la riga di dati con tutti i campi statici e il file JSON bagInfo è mostrato di seguito.

   {
   "ticketNo": 1762344493810,
   "fullName": "Adam Phillips",
   "gender": "M",
   "contactPhone": "893-324-1064",
   "confNo": "LE6J4Z",
   "bags": [
     {
       "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"
     }
   ]
  }
 {: .infoboxnote}

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 visualizzata 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 visita) 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 biglietto.

Output:

{"fullName":"Lorenzo Phil","tagNum":["17657806240001","17657806340001"],
"lastSeenStation":["JTR","JTR"]}

Esempio 4: recuperare il cognome, la data di scadenza del conto e le visualizzazioni controllate 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"]}