Usando a Console para extrair dados
Saiba como exibir e fazer download dos dados da 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 do NoSQL.
Para exibir os dados da tabela:
-
Acesse a console do NoSQL na Console do Infrastructure. Consulte Acessando o Serviço pela Console de Infraestrutura.
-
A console do NoSQL lista todas as tabelas na tenancy. Para exibir detalhes da tabela, siga um destes procedimentos:
-
Clique no nome da tabela ou
-
Clique no menu ação correspondente ao nome da tabela e selecione Exibir Detalhes.
A página Detalhes da Tabela é aberta.
-
-
Na página Detalhes da Tabela, selecione a tab Explorar Dados em Recursos.
-
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 do Oracle NoSQL. Você pode obter um erro de que sua declaração é incompleta ou defeituosa. 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 Guia de Desenvolvedores para obter exemplos de consulta SQL.
-
Selecione Executar.
Os dados da tabela são exibidos na seção Registros.
-
Para exibir o plano de execução da consulta da consulta SQL executada, selecione Mostrar plano de execução da consulta. O plano de execução da consulta detalhada é exibido em uma nova janela.
Fazendo Download de Dados da Tabela
-
Acesse a console do NoSQL na Console do Infrastructure. Consulte Acessando o Serviço pela Console de Infraestrutura.
-
A console do NoSQL lista todas as tabelas na tenancy. Para exibir detalhes da tabela, siga um destes procedimentos:
-
Clique no nome da tabela ou
-
Clique no menu ação correspondente ao nome da tabela e selecione Exibir Detalhes.
A página Detalhes da Tabela é aberta.
-
-
Na página Detalhes da Tabela, selecione a tab Explorar Dados em Recursos.
-
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 do Oracle NoSQL. Você pode obter um erro de que sua declaração é incompleta ou defeituosa. 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 Guia de Desenvolvedores para obter exemplos de consulta SQL.
-
Clique no menu de ação correspondente à linha que você deseja baixar e selecione Fazer Download do 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 em uma tabela. Para isso, liste os nomes das colunas da tabela desejada depois de SELECT na instrução. Você dá o nome da tabela após a cláusula FROM. Para recuperar dados de uma tabela filho, use a notação de pontos, como parent.child. Para selecionar 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: Selecione 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 tíquete, nome completo, sexo, telefone de contato e número de confirmação. As informações do repositório são armazenadas como JSON e são preenchidas com uma matriz 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 uma ou mais 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
Você pode filtrar os resultados da consulta especificando uma condição de filtro na cláusula WHERE. Geralmente, uma condição de filtro consiste em uma ou mais expressões de comparação conectadas por meio dos operadores lógicos AND ou OR. Os seguintes operadores de comparação também são suportados: =, !=, >, >=, < e <= .
Exemplo 1:Encontre 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 são mostrados abaixo.
{
"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}
Exemplo 2: Onde a bagagem com um determinado número de reserva FH7G1W foi vista pela última vez? Além disso, pegue 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 hora da última observação) para um passageiro com o número de passagem 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 última estação vista podem ser obtidos para um número de bilhete 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 programas observados pelo usuário com o 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"]}