콘솔을 사용하여 데이터 인출

콘솔을 사용하여 Oracle NoSQL Database Cloud Service 테이블 데이터를 보고 다운로드하는 방법을 알아봅니다.

이 문서에는 다음 항목이 있습니다.

테이블 데이터 보기

NoSQL 콘솔에서 Oracle NoSQL Database Cloud Service 테이블의 데이터를 보는 방법을 알아봅니다.

테이블 데이터를 보려면 다음과 같이 하십시오.
  1. 인프라 콘솔에서 NoSQL 콘솔에 액세스합니다. 인프라 콘솔에서 서비스 액세스를 참조하십시오.
  2. NoSQL 콘솔에는 테넌시의 모든 테이블이 나열됩니다. 테이블 세부정보를 보려면 다음 중 하나를 수행합니다.
    • 테이블 이름 또는
    • 테이블 이름에 해당하는 작업 메뉴를 누르고 세부정보 보기를 선택합니다.
    Table Details 페이지가 열립니다.
  3. 테이블 세부정보 페이지의 리소스에서 데이터 탐색 탭을 선택합니다.
  4. 기본적으로 조회 텍스트는 테이블에서 모든 레코드를 검색하는 SQL 조회로 채워집니다. Oracle NoSQL 문에 대해 적합한 SQL을 사용하여 이 질의를 수정할 수 있습니다. 명령문이 불완전하거나 결함이 있다는 오류가 나타날 수 있습니다. OCI 콘솔에서 가능한 오류 및 오류 수정 방법에 대해 알아보려면 OCI 콘솔에서 SQL 문 오류 디버깅을 참조하십시오. SQL 질의 예는 Developers Guide를 참조하십시오.
  5. 실행을 누릅니다.
    테이블 데이터가 Records 섹션에 표시됩니다.
  6. 실행된 SQL 질의의 질의 실행 계획을 보려면 질의 실행 계획 표시를 누릅니다. 세부 질의 실행 계획이 새 창에 표시됩니다.

테이블 데이터 다운로드

NoSQL 콘솔에서 Oracle NoSQL Database Cloud Service 테이블의 데이터를 다운로드하는 방법을 알아봅니다.

테이블 데이터를 다운로드하려면
  1. 인프라 콘솔에서 NoSQL 콘솔에 액세스합니다. 인프라 콘솔에서 서비스 액세스를 참조하십시오.
  2. NoSQL 콘솔에는 테넌시의 모든 테이블이 나열됩니다. 테이블 세부정보를 보려면 다음 중 하나를 수행합니다.
    • 테이블 이름 또는
    • 테이블 이름에 해당하는 작업 메뉴를 누르고 세부정보 보기를 선택합니다.
    Table Details 페이지가 열립니다.
  3. 테이블 세부정보 페이지의 리소스에서 데이터 탐색 탭을 선택합니다.
  4. 기본적으로 조회 텍스트는 테이블에서 모든 레코드를 검색하는 SQL 조회로 채워집니다. Oracle NoSQL 문에 대해 적합한 SQL을 사용하여 이 질의를 수정할 수 있습니다. 명령문이 불완전하거나 결함이 있다는 오류가 나타날 수 있습니다. OCI 콘솔에서 가능한 오류 및 오류 수정 방법에 대해 알아보려면 OCI 콘솔에서 SQL 문 오류 디버깅을 참조하십시오. SQL 질의 예는 Developers Guide를 참조하십시오.
  5. 다운로드하려는 행에 해당하는 작업 메뉴를 누르고 JSON 다운로드를 선택합니다.
    행이 JSON 형식으로 다운로드됩니다.

SQL 명령을 사용하여 데이터 패치(fetch)

SQL SELECT 문을 사용하여 NoSQL 테이블에서 데이터를 인출할 수 있습니다.

테이블에서 모든 행 패치(fetch)

테이블에서 열을 선택할 수 있습니다. 이렇게 하려면 명령문에서 SELECT 뒤에 원하는 테이블 열의 이름을 나열합니다. FROM 절 뒤에 테이블 이름을 지정합니다. 하위 테이블에서 데이터를 검색하려면 점 표기법(예: parent.child)을 사용합니다. 모든 테이블 열을 선택하려면 별표(*) 와일드카드 문자를 사용합니다. SELECT 문은 기존 열의 값을 기반으로 하는 계산 표현식을 포함할 수도 있습니다.

예 1: BaggageInfo 테이블에서 모든 데이터를 선택합니다.
SELECT * FROM BaggageInfo

설명: BaggageInfo 스키마에 고정된 정적 필드와 JSON 열이 있습니다. 정적 필드는 티켓 번호, 성명, 성별, 연락처 전화 및 확인 번호입니다. 가방 정보는 JSON으로 저장되고 문서 배열로 채워집니다.

출력(간단한 결과를 위해 행만 표시):
{"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"}
]}
예 2: BaggageInfo 테이블에서 특정 열을 선택하려면 SELECT 문에 열 이름을 콤마로 구분된 목록으로 포함시킵니다.
SELECT fullName, contactPhone, gender FROM BaggageInfo

설명: 세 개의 정적 필드(성명, 전화 번호 및 성별)의 값을 표시하려고 합니다.

출력:
{"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"}
예 3: stream_acct 테이블에서 모든 데이터를 선택합니다.
SELECT * FROM stream_acct

설명: stream_acct 스키마에 고정된 정적 필드와 JSON 열이 있습니다.

출력(간단한 결과를 위해 행만 표시):

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

테이블에서 데이터 필터링

WHERE 절에 필터 조건을 지정하여 질의 결과를 필터링할 수 있습니다. 일반적으로 필터 조건은 논리 연산자 AND 또는 OR를 통해 연결된 하나 이상의 비교 표현식으로 구성됩니다. =, !=, >, >=, < 및 <= 비교 연산자도 지원됩니다.

예 1: 지정된 예약 번호 FH7G1W에 대한 승객의 성명과 함께 승객 수하물의 태그 번호를 찾습니다.
SELECT bag.fullName, bag.bagInfo[].tagNum FROM BaggageInfo bag
WHERE bag.confNo="FH7G1W"

설명: 지정된 예약 번호에 해당하는 태그 번호를 인출합니다.

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

주:

이해를 돕기 위해 모든 정적 필드 및 bagInfo JSON이 있는 데이터 행이 아래에 표시됩니다.
"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"
  } ]
예 2: 지정된 예약 번호 FH7G1W의 수하물이 마지막으로 확인된 위치는 어디입니까? 또한 수하물의 태그 번호를 가져옵니다.
SELECT bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag WHERE bag.confNo="FH7G1W"

설명: bagInfo는 JSON이며 문서 배열로 채워집니다. 특정 예약 번호에 대해 전체 이름과 마지막으로 확인된 스테이션을 인출할 수 있습니다.

출력:
{"fullName":"Rosalia Triplett","tagNum":"17657806215913",
"lastSeenStation":"VIE"}
예 3: 티켓 번호가 1762340579411인 승객에 대한 가방(태그 및 최종 확인 시간)의 세부정보를 선택합니다.
SELECT bag.ticketNo, bag.fullName, bag.bagInfo[].tagNum,bag.bagInfo[].lastSeenStation
FROM BaggageInfo bag where bag.ticketNo=1762320369957

설명: bagInfo는 JSON이며 문서 배열로 채워집니다. 특정 티켓 번호에 대해 전체 이름, 태그 번호 및 마지막으로 본 스테이션을 가져올 수 있습니다.

출력:
{"fullName":"Lorenzo Phil","tagNum":["17657806240001","17657806340001"],
"lastSeenStation":["JTR","JTR"]}
예 4: acct_id 1을 사용하여 사용자가 본 성, 계정 만료 날짜 및 쇼를 인출합니다.
SELECT account_expiry, acct.acct_data.lastName, acct.acct_data.contentStreamed[].showName FROM stream_acct acct WHERE acct_id=1

설명: acct_data는 JSON이며 문서 배열로 채워집니다. 성, 계정 만료 날짜 및 표시 이름이 특정 계정 ID에 대해 인출됩니다.

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