어제에 이어서 오늘도 Oracle database 수업을 진행했다.
어제 Oracle database 설치 및 세팅은 이전글을 참고하시고, 어제 포스팅을 좀더 이어 나가보겠다.
https://yat-ong.tistory.com/54
어제 미처 포스팅을 못한 부분부터 이어 나가자면, Oracle database 설치하고 계정을 몇개 만들면서 Oracle tablespace 생성을 진행했다. 사실 이부분은 아직 공부가 부족하기때문에 일단 강사님을 따라서 뭔지도 모르고 만들어봤다.
일단 Dataspace를 생성할 경로를 정해줘야한다. 난 D드라이브에 database를 깔아놨기때문에
D:\DBStudy\oradata\myoracle 폴더를 생성하여 이곳에 dataspace 생성경로를 설정해주었다.
생성하게 되면 myoracle이라는 폴더 안에 myts.dbf라는 파일이 자동으로 생성될것이다.
TableSpace를 생성하는 문법은
create tablespace myts
datafile 'D:\DBStudy\oradata\myoracle\myts.dbf'
size 100m
autoextend on
next 5;
이다. 일단 뭔지 모르니 마구 따라적어서 생성부터 해보았다.
정상적으로 생성이 되었다. 해당 경로에 가보면
원래는 텅빈 폴더였는데 MYTS.DBF라는 파일이 생성되었다. 정상적으로 tablespace가 잘 생성된거같다.
참고로 Tablespace는 삭제도 가능하다
drop tablespace 테이블스페이스명;
이라고 입력해주면 삭제가 된다, 단 삭제하더라도 해당 폴더에 MYTS.DBF는 남아있는거같다. 이걸 수동으로 지워줘야 나중에 다시 동일한 이름으로 Tablespace 생성이 가능하다.
학원에서 drop도 가능하다는 말에 해봤다가 다시 설치가 안되서 우물쭈물 하고 있었는데 파일을 지우고나서 해보니 다시 정상적으로 설치가 됐었다.
다음은 기본적으로 학습할수 있게 제공하는 예시 자료 테이블들이 있다. 이는 첨부파일로 첨부 해놓았다.
테이블을 생성하고 그 안에 데이터들을 원래 일일히 Insert 해줘야하는데 Oracle에서 제공하는거라 기본적으로 쿼리문이 다 작성되어있고 실행만 해주면 된다.
첨부파일 scott.sql 파일을 저장하고, 해당 파일이 있는 경로를 복사해준다.
그리고 SQL로 돌아와서 @ 뒤에 경로를 붙여놓고 실행해주면 된다
엔터를 뽷!하고 치면 아무 반응이 없는데 이러면 생성이 된거다. 우리의 테스트 계정과 데이터들이 생긴것이다.
이름은 SCOTT / 비밀번호는 TIGER이다. Oracle에서 제공하는거니 해당 파일을 정상적으로 실행했다면 ID와 비번은 다 동일할것이다.
SCOTT으로 로그인을 해보고, SCOTT 계정에 생성되어있는 테이블의 구조를 살펴봐야겠다.
conn scott / tiger 한번에 입력해줘도 되고 conn scott 하고 엔터후에 Password 입력란에서 비밀번호를 따로 입력해줘도 된다.
비밀번호를 맞게 입력했다면, Connected 라고 반겨줄것이다. 그리고 테이블의 구조를 알아보기 위해선
describe tab; 혹은 desc tab; 이라고 입력하면된다. 테이블의 전체 구조를 보여줄것이다.
자 이렇게 scott 계정에 로그인을 성공하고, 테이블 구조를 알아봤다.
TNAME, TABTYPE, CLUSTERID 라는 컬럼이 보이고, 그 컬럼의 데이터 타입을 보여준다
Oracle에서 VARCHAR2는 '문자열' 타입을 일컫는다, NUMBER는 말그대로 숫자이다. 여기까지면 드디어 대망의 SELECT 조회 쿼리문을 날릴 준비가 되었다.
하지만....CMD 창이 너무 싫다....
오늘 2일차 Oracle database 수업이지만 아직도 cmd창으로 진행하고 있다.
너무너무 불편하고 한글도 깨지고 쿼리문을 날렸을때 결과도 맘에들지않는다. 안되겠다. 단독적으로라도 SQL Developer를 깔아야겠다.
현재 개발환경은 Java JDK 8 버전이다. 해당 버전을 지원하는 SQL Developer를 깔아야하는데
현재 Oracle 사이트에서 구버전을 아무리 다운로드 하려고 해봐도 꽁꽁 숨겨놨는지 없앴는지.. 찾을수가 없었다.
게다가 이 설치 과정은 단독으로 진행하는거기때문에 나 혼자서 찾아찾아 가야하는데...
열심히 구글링을 해보니 타 학원에서도 Oracle database 11g 버전으로 공부하면서 SQL Developer는 19.2.1 버전이나 19.2.0 버전을 많이 사용하는 글을 볼수 있었다. 그래서 이 버전으로 깔기로 결정했다.
실은 20 버전이면 될줄알고 20버전을 Oracle 사이트에서 받아서 설치를 시도했었지만 JDK 버전이 낮다고 까였다....
서론이 길었다. 19.2.1 버전을 설치하러 가보자
아무리 찾아봐도 다운로드 하는 페이지가 없어서 구글링을 열심히 했는데 나와 같은 고민을 하는 사람이 있었고, 그 글에 답변을 통해 다운로드 할수 있었다.
SQL 개발자 19.2.1을 계속 다운로드할 수 있습니까? — 오라클 테크 (oracle.com)
여기에 들어가면 댓글에
이러한 댓글을 볼수있다. 해석(번역을 돌려)보자면
1. 오라클 계정에 로그인 해놓은상태로 1번의 URL로 들어가서 아무 파일이나 다운로드하면서 약관동의를 한다.
2. 그후 Mac OS를 쓴다면 2번 링크를 눌러 다운로드
3. JDK 포함된 파일을 받고싶다면 3번의 링크 windows 64비트 용으로 다운로드
4. 그외 플랫폼(windows 32/64비트, 리눅스, 그리고 JDK 가 포함되지 않은파일을 받고싶다면 4번링크
JDK가 이미 설치되어있으니, 1번으로 접속해서 아무파일이나 다운로드하고 약관동의 후에
4번링크로 잽싸게 돌아와 다운로드를 시작해주었다. 다운로드가 다 되었다면 각자 편한 폴더에 압축을 푼후
해당 파일을 실행해주자. 그럼 Java JDK가 있는 폴더를 지정해달라고 창이 하나 뜰것이다.
만약 SQL Developer가 지원하는 JDK 버전과 내 개발환경의 JDK 버전이 호환되지 않는다면 저 창이 뜨는게 아니고
다른창이 뜨면서 "~~~~ 지원되지 않는데 그래도 설치할꺼냐?" 라고 묻는다. 그 창이 안뜬다면 사진과 같이 각자 개발환경에 있는 JDK경로를 지정해주고 OK를 누른다
두두두등장!
이런 창이 뜰텐데 우리는 처음 설치하는거니 아니오를 줄러준다.
설치가 완료되었다. 업데이트는 하지 않는걸로 하자....
드디어 cmd창이 아닌 깔끔한 Develper의 세계로 왔다. scott 계정으로 로그인을 해보겠다. 왼쪽 상단의 새 접속을 누르고
상단의 Name은 아무렇게나 입력해주자.
사용자 이름과 비밀번호에 Scott / tiger를 입력해주고 테스트를 누른다. 오른쪽 하단에 상태에 성공 이라고 뜨면
접속을 눌러준다.
다시한번 확인버튼을 눌러준다.
로그인이 정상적으로 되면 왼쪽에서 Table의 전체적인 구조를 UI로 보여준다. 이걸 보면서 편리하게 SELECT 문을 날릴수 있다.
드디어 처음으로 SELECT 문을 날려보게 되는 순간이다.
먼저 SELECT는 조회를 하는 쿼리문이다. 모든 Data의 기본은 어떤 Data가 담겨있는지 조회를 해보는데에서 부터 시작한다.
Insert를 해서 Data를 넣어줬을때도, Update를 해서 Data를 수정했을때도, Delete를 해서 Data를 삭제했을때도
정상적으로 입력이 됐는지, 수정, 삭제가 이루어졌는지 꼭 Select 문을 통해 확인, 또 확인을 해야한다
Select * from emp; 라고 emp table에 있는 모든 data를 조회했다. 여기서 *는 모든걸 조회할때 사용된다
쿼리문의 끝은 항상 ; 으로 매듭지어준다. 그리고 SQL developer에서 실행 단축키는 F9 혹은 Ctrl+Enter이다.
해당결과가 하단에 아주 이쁘장~ 하게 출력된다. 이걸 CMD창에서 입력하면
이렇게 지저분하게 나온다. 얼마나 보기 편한지 모르겠다.
이렇게 SQL Developer를 내맘대로(?) 설치하고 Select 문을 날려보았다.
오늘 학원 수업하면서 주석을 달아 쿼리문을 정리했던걸 참고로 남겨놓는다.
'Study > 중앙정보처리학원과정' 카테고리의 다른 글
20일차. Group by~Having (0) | 2022.11.21 |
---|---|
19일차. Select...Select...함수..Select..Insert...Where (0) | 2022.11.20 |
17일차. Oracle Database(오라클 데이터베이스)11gR2 설치 그리고 테스트 (0) | 2022.11.16 |
16일차. Collection Framework 2일차, 컬렉션 프레임워크 HashSet (0) | 2022.11.15 |
15일차. collection framework(컬렉션 프레임워크) ArrayList (0) | 2022.11.14 |