콘솔을 사용하여 데이터 인출
콘솔을 사용하여 Oracle NoSQL Database Cloud Service 테이블 데이터를 보고 다운로드하는 방법을 알아봅니다.
이 문서에는 다음 항목이 포함되어 있습니다.
테이블 데이터 보기
NoSQL 콘솔에서 Oracle NoSQL Database Cloud Service 테이블의 데이터를 보는 방법을 알아봅니다.
테이블 데이터를 보려면 다음과 같이 하십시오.
-
Infrastructure 콘솔에서 NoSQL 콘솔에 액세스합니다. Infrastructure 콘솔에서 서비스 액세스를 참조하십시오.
-
NoSQL 콘솔에는 테넌시의 모든 테이블이 나열됩니다. 테이블 세부 정보를 보려면 다음 중 하나를 수행합니다.
-
테이블 이름을 누릅니다. 또는
-
테이블 이름에 해당하는 작업 메뉴를 누르고 세부정보 보기를 선택합니다.
Table Details 페이지가 열립니다.
-
-
[테이블 세부정보] 페이지의 리소스 아래에서 데이터 탐색 탭을 선택합니다.
-
기본적으로 쿼리 텍스트는 테이블에서 모든 레코드를 검색하는 SQL 쿼리로 채워집니다. Oracle NoSQL 문에 대해 적합한 SQL을 사용하여 이 질의를 수정할 수 있습니다. 명령문이 불완전하거나 결함이 있는 경우 오류가 발생할 수 있습니다. OCI 콘솔에서 가능한 오류와 오류를 수정하는 방법에 대한 자세한 내용은 OCI 콘솔에서 SQL 문 오류 디버깅을 참조하십시오. SQL 질의 예는 개발자 설명서를 참조하십시오.
-
실행을 선택합니다.
[레코드] 섹션에 테이블 데이터가 표시됩니다.
-
실행된 SQL 질의의 질의 실행 계획을 보려면 질의 실행 계획 표시를 선택합니다. 상세한 query 실행 계획이 새 window에 표시됩니다.
테이블 데이터 다운로드
-
Infrastructure 콘솔에서 NoSQL 콘솔에 액세스합니다. Infrastructure 콘솔에서 서비스 액세스를 참조하십시오.
-
NoSQL 콘솔에는 테넌시의 모든 테이블이 나열됩니다. 테이블 세부 정보를 보려면 다음 중 하나를 수행합니다.
-
테이블 이름을 누릅니다.
-
테이블 이름에 해당하는 작업 메뉴를 누르고 세부정보 보기를 선택합니다.
Table Details 페이지가 열립니다.
-
-
[테이블 세부정보] 페이지의 리소스 아래에서 데이터 탐색 탭을 선택합니다.
-
기본적으로 query 텍스트는 테이블에서 모든 레코드를 검색하는 SQL query로 채워집니다. Oracle NoSQL 문에 대해 적합한 SQL을 사용하여 이 질의를 수정할 수 있습니다. 명령문이 불완전하거나 결함이 있는 경우 오류가 발생할 수 있습니다. OCI 콘솔에서 가능한 오류와 오류를 수정하는 방법에 대한 자세한 내용은 OCI 콘솔에서 SQL 문 오류 디버깅을 참조하십시오. SQL 질의 예는 개발자 설명서를 참조하십시오.
-
다운로드하려는 행에 해당하는 작업 메뉴를 누르고 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",
"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}
예 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"]}