Anything

SQL 기초 (Oracle DB)

씬프 2021. 3. 29. 15:20
반응형

테이블 생성 및 삭제

테이블 생성

CREATE TABLE {table_name} (
  col_name1 NUMBER(4),
  col_name2 VARCHAR2(20),
  col_name3 VARCHAR2(10),
);


테이블을 생성할 때, CREATE TABLE로 테이블 이름을 선언하고, 내부에 컬럼명, 타입, 사이즈를 선언한다.

테이블 검색

SELECT * FROM tab;


테이블 목록 전체를 출력한다. * 에 테이블 명으로 검색할 수 있다.

테이블 삭제

DROP TABLE {tab_name};

테이블 생성 제약 조건

테이블 생성할 때, CONSTRAINT를 통해 제약 조건을 걸 수 있다.
가장 기본적으로 앞에서의 테이블에서

  ...
  col_name1 NUMBER(4) CONSTRAINT col_name1_pk PRIMARY KEY,
  ...


위와 같이 기본키를 선언하는데 사용될 수 있다.

그리고 COMMIT;을 통해 DB에 적용한다.

데이터 추가 수정 삭제

시퀀스 생성

시퀀스는 오라클 DB에서 값을 자동적으로 하나를 증가시키거나 감소시킬 때 사용한다.
하나의 객체로 사용된다.

CREATE SEQUENCE {sequence_name};

데이터 추가

INSERT INTO {tab_name} ( col_name1, col_name2, col_name3)
VALUES ( {sequence_name}.nextval, 'col2', 'col3');


위와 같이 테이블 이름, 컬럼명을 INTO에 나열하고, 그에 맞는 값을 VALUES를 통해 전달한다.
시퀀스 객체에 nextval을 사용하면 +1 된 값으로 지정된다.

데이터 수정

UPDATE {tab_name} SET col_name3 = 'col3mod'
WHERE col_name='col2';


위와 같이 테이블 이름을 선언하고 SET에 수정될 내용을 입력한다. (컬럼명 = 바꿀 내용)
WHERE 절을 사용해, 조건을 부여한다.

데이터 삭제

DELETE FROM {tab_name} WHERE col_name1 = 4;


위와 같이 WHERE 절 조건에 맞는 행을 삭제한다.

데이터 검색

SELECT {column} FROM {tab_name};


위와 같이 기본적으로 테이블 명에서 컬럼을 통해 검색한다.
WHERE절을 통해 조건을 사용할 수 있으며,
GROUP BY를 통해 그룹 별로 가져오기도 한다.
HAVING은 GROUP BY와 함께 사용되는데 집계함수 (Count, Min 등)를 가지고 비교할 때 사용된다.

'Anything' 카테고리의 다른 글

[DB] 커넥션 풀 (Connection Pool)  (0) 2021.04.15
[Basic] RESTful API  (0) 2021.04.12
MVC 패턴  (0) 2021.03.26
Kafka 개념 정리  (0) 2021.03.20
Git convention  (0) 2021.03.09