Usando a Console para extrair dados

Saiba como exibir e fazer download de dados de tabela do Oracle NoSQL Database Cloud Service usando a Console.

Este artigo tem os seguintes tópicos:

Exibindo Dados da Tabela

Saiba como exibir dados nas tabelas do Oracle NoSQL Database Cloud Service com a console NoSQL.

Para exibir os dados da tabela:
  1. Acesse a console NoSQL na Console de Infraestrutura. Consulte Accessing the Service from the Infrastructure Console.
  2. A console NoSQL lista todas as tabelas na tenancy. To view table details, do either of the following:
    • Clique no nome da tabela ou
    • Clique no menu de ação correspondente ao nome da tabela e selecione Exibir Detalhes.
    A página Detalhes da Tabela é aberta.
  3. Na página Detalhes da Tabela, selecione a guia Explorar Dados em Recursos.
  4. Por padrão, o texto da consulta é preenchido com uma consulta SQL que recuperará todos os registros da tabela. Você pode modificar essa consulta com qualquer código SQL válido para a instrução NoSQL do Oracle. Você pode receber um erro informando que sua instrução está Incompleta ou com falha. Consulte Depurando erros de instrução SQL na console do OCI para saber mais sobre possíveis erros na console do OCI e como corrigi-los. Consulte o Developers Guide para obter exemplos de consulta SQL.
  5. Clique em Executar.
    Os dados da tabela são exibidos na seção Registros.
  6. Para exibir o plano de execução da consulta SQL que foi executada, clique em Mostrar plano de execução da consulta. O plano de execução de consulta detalhado é exibido em uma nova janela.

Download de Dados da Tabela

Saiba como fazer o download de dados em tabelas do Oracle NoSQL Database Cloud Service com a console NoSQL.

To download table data:
  1. Acesse a console NoSQL na Console de Infraestrutura. Consulte Accessing the Service from the Infrastructure Console.
  2. A console NoSQL lista todas as tabelas na tenancy. To view table details, do either of the following:
    • Clique no nome da tabela ou
    • Clique no menu de ação correspondente ao nome da tabela e selecione Exibir Detalhes.
    A página Detalhes da Tabela é aberta.
  3. Na página Detalhes da Tabela, selecione a guia Explorar Dados em Recursos.
  4. Por padrão, o texto da consulta é preenchido com uma consulta SQL que recuperará todos os registros da tabela. Você pode modificar essa consulta com qualquer código SQL válido para a instrução NoSQL do Oracle. Você pode receber um erro informando que sua instrução está Incompleta ou com falha. Consulte Depurando erros de instrução SQL na console do OCI para saber mais sobre possíveis erros na console do OCI e como corrigi-los. Consulte o Developers Guide para obter exemplos de consulta SQL.
  5. Clique no menu de ação correspondente à linha do qual deseja fazer download e selecione Download de JSON.
    O download da linha ocorre no formato JSON.

Usando comandos SQL para extrair dados

Você pode usar a instrução SQL SELECT para extrair dados da tabela NoSQL.

Extraindo todas as linhas de uma tabela

Você pode escolher colunas de uma tabela. Para fazer isso, liste os nomes das colunas desejadas na tabela após SELECT na instrução. Você fornece o nome da tabela depois da cláusula FROM. Para recuperar dados de uma tabela filho, use a notação de pontos, como parent.child. Para escolher todas as colunas da tabela, use o caractere curinga asterisco (*). A instrução SELECT também pode conter expressões computacionais com base nos valores de colunas existentes.

Exemplo 1: Escolha todos os dados da tabela BaggageInfo.
SELECT * FROM BaggageInfo

Explicação: O esquema BaggageInfo tem alguns campos estáticos fixos e uma coluna JSON. Os campos estáticos são número do ticket, nome completo, sexo, telefone de contato e número de confirmação. As informações do repositório são armazenadas como JSON e preenchidas com um array de documentos.

Saída (exibindo apenas uma linha do resultado para brevidade):
{"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"}
]}
Exemplo 2: Para escolher colunas específicas da tabela BaggageInfo, inclua os nomes das colunas como uma lista separada por vírgulas na instrução SELECT.
SELECT fullName, contactPhone, gender FROM BaggageInfo

Explicação: Você deseja exibir os valores de três campos estáticos - nome completo, número de telefone e sexo.

Saída:
{"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"}
Exemplo 3: Escolha todos os dados da tabela stream_acct.
SELECT * FROM stream_acct

Explicação: O esquema stream_acct tem alguns campos estáticos fixos e uma coluna JSON.

Saída (exibindo apenas uma linha do resultado para brevidade):

{"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"
      }]
   }]
}]}}

Filtrar dados de uma tabela

É possível filtrar os resultados da consulta especificando uma condição de filtro na cláusula WHERE. Normalmente, uma condição de filtro consiste em uma ou mais expressões de comparação conectadas por meio de operadores lógicos E ou OU. Os seguintes operadores de comparação também são suportados: =, !=, >, >=, < e <= .

Exemplo 1: Localize o número da etiqueta da bagagem de um passageiro junto com o nome completo do passageiro para um determinado número de reserva FH7G1W.
SELECT bag.fullName, bag.bagInfo[].tagNum FROM BaggageInfo bag
WHERE bag.confNo="FH7G1W"

Explicação: Você extrai o número da tag correspondente a um determinado número de reserva.

Saída:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913"}

Observação:

Para melhor compreensão, a linha de dados com todos os campos estáticos e o JSON bagInfo é mostrada abaixo.
"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"
  } ]
Exemplo 2: Onde a bagagem com um determinado número de reserva FH7G1W foi vista pela última vez? Além disso, obtenha o número da etiqueta da bagagem.
SELECT bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag WHERE bag.confNo="FH7G1W"

Explicação: O bagInfo é JSON e é preenchido com um array de documentos. O nome completo e a última estação vista podem ser obtidos para um número de reserva específico.

Saída:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913",
"lastSeenStation":"VIE"}
Exemplo 3: Selecione os detalhes das malas (tag e último horário visto) de um passageiro com o número do ticket 1762340579411.
SELECT bag.ticketNo, bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag where bag.ticketNo=1762320369957

Explicação: O bagInfo é JSON e é preenchido com um array de documentos. O nome completo, o número da etiqueta e a estação vista pela última vez podem ser obtidos para um número de ticket específico.

Saída:
{"fullName":"Lorenzo Phil","tagNum":["17657806240001","17657806340001"],
"lastSeenStation":["JTR","JTR"]}
Exemplo 4: Extraia o sobrenome, a data de expiração da conta e os shows observados pelo usuário com acct_id 1.
SELECT account_expiry, acct.acct_data.lastName, acct.acct_data.contentStreamed[].showName FROM stream_acct acct WHERE acct_id=1

Explicação: O acct_data é JSON e é preenchido com um array de documentos. O sobrenome, a data de expiração da conta e os nomes de exibição são extraídos para um ID de conta específico.

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