Uso de la consola para recuperar datos
Descubra cómo ver y descargar datos de tablas de Oracle NoSQL Database Cloud Service mediante la consola.
En este artículo se incluyen los siguientes temas:
Visualización de Datos de Tabla
Aprenda a ver los datos en las tablas de Oracle NoSQL Database Cloud Service desde la consola de NoSQL.
Para ver los datos de la tabla:
-
Acceda a la consola de NoSQL desde la consola de Infrastructure. Consulte Acceso al servicio desde la consola del Infrastructure.
-
La consola de NoSQL muestra todas las tablas en el arrendamiento. Para ver los detalles de la tabla, realice una de las acciones siguientes:
-
Haga clic en el nombre de la tabla.
-
Haga clic en el menú que corresponda al nombre de la tabla y seleccione Ver detalles.
Se abrirá la página Detalles de la tabla.
-
-
En la página Detalles de una tabla, seleccione el separador Explorar datos en Recursos.
-
Por defecto, el texto de la consulta se rellena con una consulta SQL que recuperará todos los registros de la tabla. Puede modificar esta consulta con cualquier sentencia de SQL válida para Oracle NoSQL. Puede que aparezca un error que indique que la sentencia está incompleta o es defectuosa. Consulte Depuración de errores de sentencias SQL en la consola de OCI para obtener más información sobre los posibles errores en la consola de OCI y cómo solucionarlos. Consulte la Guía de desarrolladores para obtener ejemplos de consultas SQL.
-
Seleccione Execute (Ejecutar).
Los datos de la tabla aparecen en la sección Registros.
-
Para ver el plan de ejecución de consultas de la consulta SQL ejecutada, seleccione Mostrar plan de ejecución de consultas. El plan de ejecución de consultas detallado se muestra en una nueva ventana.
Descarga de datos de tablas
-
Acceda a la consola de NoSQL desde la consola de Infrastructure. Consulte Acceso al servicio desde la consola del Infrastructure.
-
La consola de NoSQL muestra todas las tablas en el arrendamiento. Para ver los detalles de la tabla, realice una de las acciones siguientes:
-
Haga clic en el nombre de la tabla.
-
Haga clic en el menú que corresponda al nombre de la tabla y seleccione Ver detalles.
Se abrirá la página Detalles de la tabla.
-
-
En la página Detalles de esta tabla, seleccione el separador Explorar datos en Recursos.
-
Por defecto, el texto de la consulta se rellena con una consulta SQL que recuperará todos los registros de la tabla. Puede modificar esta consulta con cualquier sentencia de SQL válida para Oracle NoSQL. Puede que aparezca un error que indique que la sentencia está incompleta o es defectuosa. Consulte Depuración de errores de sentencias SQL en la consola de OCI para obtener más información sobre los posibles errores en la consola de OCI y cómo solucionarlos. Consulte la Guía de desarrolladores para ver ejemplos de consultas SQL.
-
Haga clic en el menú que corresponde a la fila que desea descargar y seleccione Descargar JSON.
La fila se descarga en formato JSON.
Uso de Comandos SQL para Recuperar Datos
Puede utilizar la sentencia SQL SELECT para recuperar datos de la tabla NoSQL.
Recuperación de todas las filas de una tabla
Puede seleccionar columnas de una tabla. Para ello, muestre los nombres de las columnas de tabla deseadas después de SELECT en la sentencia. Asigne el nombre de la tabla después de la cláusula FROM. Para recuperar datos de una tabla secundaria, utilice la notación de puntos, como parent.child. Para seleccionar todas las columnas de la tabla, utilice el carácter comodín de asterisco (*). La sentencia SELECT también puede contener expresiones computacionales basadas en los valores de las columnas existentes.
Ejemplo 1: seleccione todos los datos de la tabla BaggageInfo.
SELECT * FROM BaggageInfo
Explicación: el esquema BaggageInfo tiene algunos campos estáticos fijos y una columna JSON. Los campos estáticos son número de ticket, nombre completo, sexo, teléfono de contacto y número de confirmación. La información de la bolsa se almacena como JSON y se rellena con una matriz de documentos.
Salida (mostrando sólo una fila del resultado por brevedad):
{"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"}
]}
Ejemplo 2: para seleccionar columnas específicas de la tabla BaggageInfo, incluya los nombres de columna como una lista separada por comas en la sentencia SELECT.
SELECT fullName, contactPhone, gender FROM BaggageInfo
Explicación: desea mostrar los valores de tres campos estáticos: nombre completo, número de teléfono y género.
Salida:
{"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"}
Ejemplo 3: seleccione todos los datos de la tabla stream_acct.
SELECT * FROM stream_acct
Explicación: el esquema stream_acct tiene algunos campos estáticos fijos y una columna JSON.
Salida (mostrando sólo una fila del resultado por brevedad):
{"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 datos de una tabla
Puede filtrar los resultados de las consultas especificando una condición de filtro en la cláusula WHERE. Normalmente, una condición de filtro consta de una o más expresiones de comparación conectadas mediante operadores lógicos AND u OR. También se admiten los siguientes operadores de comparación: =, !=, >, >=, < y <= .
Ejemplo 1: busca el número de etiqueta del equipaje de un pasajero junto con el nombre completo del pasajero para un número de reserva determinado FH7G1W.
SELECT bag.fullName, bag.bagInfo[].tagNum FROM BaggageInfo bag
WHERE bag.confNo="FH7G1W"
Explicación: recupera el número de etiqueta correspondiente a un número de reserva determinado.
Salida:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913"}
Nota: Para comprender mejor, a continuación se muestra la fila de datos con todos los campos estáticos y el formato JSON bagInfo.
{
"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}
Ejemplo 2: ¿Dónde se ha visto por última vez el equipaje con un número de reserva determinado FH7G1W? Además, busque el número de etiqueta del equipaje.
SELECT bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag WHERE bag.confNo="FH7G1W"
Explicación: bagInfo es JSON y se rellena con una matriz de documentos. El nombre completo y la última estación vista se pueden recuperar para un número de reserva en particular.
Salida:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913",
"lastSeenStation":"VIE"}
Ejemplo 3: seleccione los detalles de las bolsas (etiqueta y hora de última visualización) para un pasajero con el número de ticket 1762340579411.
SELECT bag.ticketNo, bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag where bag.ticketNo=1762320369957
Explicación: bagInfo es JSON y se rellena con una matriz de documentos. El nombre completo, el número de etiqueta y la última estación vista se pueden recuperar para un número de ticket en particular.
Salida:
{"fullName":"Lorenzo Phil","tagNum":["17657806240001","17657806340001"],
"lastSeenStation":["JTR","JTR"]}
Ejemplo 4: recupere el apellido, la fecha de caducidad de la cuenta y los programas observados por el usuario con acct_id 1.
SELECT account_expiry, acct.acct_data.lastName, acct.acct_data.contentStreamed[].showName FROM stream_acct acct WHERE acct_id=1
Explicación: acct_data es JSON y se rellena con una matriz de documentos. Los apellidos, la fecha de caducidad de la cuenta y los nombres mostrados se recuperan para un ID de cuenta concreto.
Salida:
{"account_expiry":"2023-10-18T00:00:00.0Z","lastName":"Phillips","showName":["At the Ranch","Bienvenu"]}