Uso de la consola para recuperar datos

Descubra cómo ver y descargar los 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 NoSQL.

Para ver los datos de la tabla:
  1. Acceda a la consola NoSQL desde la consola de Infrastructure . Consulte Cómo acceder al servicio desde la consola de Infrastructure.
  2. La consola 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ú de acción correspondiente al nombre de la tabla y seleccione Ver detalles.
    Se abrirá la página Detalles de la tabla.
  3. En la página Detalles de la tabla, seleccione el separador Explorar datos en Recursos.
  4. Por defecto, el texto de la consulta se completa 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 es Incompleta o defectuosa. Consulte Depuración de errores de sentencias SQL en la consola de OCI para obtener información sobre los posibles errores en la consola de OCI y cómo corregirlos. Consulte Developers Guide para obtener ejemplos de consultas SQL.
  5. Haga clic en Ejecutar
    Los datos de la tabla aparecen en la sección Registros.
  6. Para ver el plan de ejecución de consulta de la consulta SQL que se ha ejecutado, haga clic en Mostrar plan de ejecución de consulta. El plan de ejecución de consultas detallado se muestra en una nueva ventana.

Descarga de datos de tablas

Descubra cómo descargar datos en tablas de Oracle NoSQL Database Cloud Service desde la consola NoSQL.

Para descargar datos de tablas:
  1. Acceda a la consola NoSQL desde la consola de Infrastructure . Consulte Cómo acceder al servicio desde la consola de Infrastructure.
  2. La consola 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ú de acción correspondiente al nombre de la tabla y seleccione Ver detalles.
    Se abrirá la página Detalles de la tabla.
  3. En la página Detalles de la tabla, seleccione el separador Explorar datos en Recursos.
  4. Por defecto, el texto de la consulta se completa 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 es Incompleta o defectuosa. Consulte Depuración de errores de sentencias SQL en la consola de OCI para obtener información sobre los posibles errores en la consola de OCI y cómo corregirlos. Consulte Developers Guide para obtener ejemplos de consultas SQL.
  5. Haga clic en el menú de acción correspondiente 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 solo 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 solo 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 la consulta 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: busque 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: se recupera el número de etiqueta correspondiente a un número de reserva determinado.

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

Note:

Para comprender mejor, a continuación se muestra la fila de datos con todos los campos estáticos y JSON bagInfo.
"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"
  } ]
Ejemplo 2: ¿Dónde se vio por última vez el equipaje con un número de reserva determinado FH7G1W? Además, obtenga 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 concreto.

Salida:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913",
"lastSeenStation":"VIE"}
Ejemplo 3: seleccione los detalles de las bolsas (etiqueta y hora de la última visita) de 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 concreto.

Salida:
{"fullName":"Lorenzo Phil","tagNum":["17657806240001","17657806340001"],
"lastSeenStation":["JTR","JTR"]}
Ejemplo 4: recupere el apellido, la fecha de caducidad de la cuenta y los espectáculos que ve 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"]}