본문 바로가기
뒷북 정리 (국비 교육)/sql, db

[oracle DB] oracle 설치 및 준비, SQL 명령어 소개

by 규글 2021. 12. 17.

select는 다음의 6개의 절로 구분된다. 

실행 순서
select 6
from 1
where 2
group by 3
having 4
order by 5

지금은 하나의 table로 하지만, 여러 개의 table에서도 원하는 결과 table을 만들어낼 수 있다.

작성하는 sql문의 대소문자는 구분하지 않는다. 하지만 table에 들어가는 data의 대소문자는 구분한다.
(ex - sql문을 select로 작성하나 SELECT로 작성하나 같다. 하지만 table에 넣을 salesman과 SALESMAN은 다르다.

 

이런 접속, insert, select.... 이런 것들을 왜 배우는 것일까?

이것을 java application이 자동으로 하게끔 programming할 예정이다.

그럼 어디까지 배워야할까? oracle 설치 및 관리? 아니다.

table을 잘 만들고 data를 잘 넣고, 수정하고, 지울 줄 알면 된다.

 

create, insert, update, delete 는 하루나 이틀 정도, select는 조금 걸릴 예정이다.


정보는 table format(형식)으로 저장한다. table은 표다. table과 column을 만들어두고, row를 배치한다는 느낌이라고 생각하면 된다.

예를 들어 table에 저장할 내용은 '할 일' 이고, 그 내용으로 치킨먹기, 편지쓰기, etc... 가 들어간다고 생각해보자. 그렇다면 어떤 table을 만들어야할까? 다음의 네 가지를 기반으로 만들면 될 것 같다.

a. table name? : todo
b. column의 수? : 2개
c. column name? : task, success
d. column의 data type? 문자, 문자

체크해야할 것은 우선 success에 들어갈만한 boolean type이 존재하지 않는다는 점이다. 다른 방안을 찾아야한다. 때문에 문자로 data type을 정해서 yes와 no로 구분하는 방식을 택했다. 문자라고 작성했지만, 구체적으로 말하면 varchar2 이다. 이것은 oracle에서의 string을 말한다. 그렇다면 어떻게 해야 a~d의 내용에 맞게 table을 다룰 수 있을까?

 

 

설치 및 준비

  1. 일단 하단 링크에서 oracle을 설치한다.

    오라클 소프트웨어 다운로드 | 오라클 | Oracle 대한민국

  2. 설치 후 windows powershell을 실행한다.

  3. 컴퓨터 계정은 system이고, 비밀번호는 설치 시 입력했던 것이다. 만약 지금 사용하고 있는 컴퓨터의 계정 명이 한글이거나 띄어쓰기가 있다면 앞으로 굉장히 어려울 예정이니 영어로만 구성할 것을 권장한다. 아마도 path의 문제일 것으로 추정한다.

  4. 이 powershell에서 dir은 directory를 의미하고, cd는 change directory의 줄임말이다. 리눅스에서처럼 동작한다.

  5. sqlplus를 치면 사용자의 이름과 password를 치라고 나온다. system과 설치 시 입력한 password를 작성한다.
    sqlplus id/pwd
    
    conn id/pwd
    sqlplus만 입력하고 id와 password를 따로 입력해도 되지만, 위와 같이 입력했을 때도 정보가 맞는다면 로그인된다.
    만약 설치한 직후라면 문제가 없겠지만, 혹시라도 oracle service 실행을 수동으로 해둔 경우에는 service가 실행되지 않아서 system과 password를 온전히 작성했음에도 오류가 날 것이다. 그렇다면 하단 이미지를 따라 oracle service를 실행시킨 후 다시 입력해보자.

     컴퓨터가 부팅 되자마자 실행되어서 보이지는 않겠지만, background에서 돌고있는 program을 service라고 한다. 그런데 자동실행이어도 컴퓨터가 바쁘면 가끔 시작을 안해준다. 그렇기때문에 이곳에 들어와서 OracleServiceXE와 OracleXETNSListener를 시작해주어야 한다. 생각보다 oracle이 무거워서 수동으로 하고 필요할때마다 켜는 방법도 있다. 필자는 수동 실행으로 해두었다.

 

SQL (Structed Query Language) 명령어

query는 빼온다는 의미라고 했다. 사전적 의미의 문의, 의문과는 어떤 연관인지 잘 캐치가 안된다.
-> 아마 문의를 해서 해당 문의에 맞는 data를 가져온다는 의미로 받아들이면 될 것 같다.
마치 javascript document.query~ 와 같다. 다음의 5가지가 있다.

  1. DCL (Data Control Language : 데이터 제어어)
  2. DDL (Data Definition Language : 데이터 정의어)
  3. DQL (Data Query Language : 데이터 질의어)
  4. DML (Data Manipulation Language : 데이터 조작어)
  5. TCL (Transaction Control Language : 트랜잭션 제어어)

댓글