1. INSERT

(1)   INSERT

  • 테이블에 데이터를 입력하는 DML

  • INSERT INTO table (column1, column2, …) VALUES (expression1, expression2, …);

  • 데이터를 입력할 때 문자열을 입력하는 경우 작은따옴표(‘ ‘)를 사용해야 함

  • 특정 테이블의 모든 칼럼에 대한 데이터 삽입은 칼럼명을 생략함

  • INSERT문을 실행하고 Commit을 해줘야 데이터가 저장 됨

  • Auto Commit이 되어 있는 경우는 자동으로 저장 됨

(2)   SELECT문으로 입력

  • SELECT문을 사용해 데이터를 조회해서 해당 테이블에 바로 삽입 가능함

  • 입력되는 테이블은 사전에 생성되어 있어야 함

(3)   Nologging사용

  • 데이터베이스에 데이터를 입력하면 로그파일에 그 정보를 기록함

  • Check point라는 이벤트가 발생하면 로그파일의 데이터를 데이터 파일에 저장함

  • Nologging옵션은 로그파일의 기록을 최소화시켜서 입력 시 성능을 향상시키는 방법

  • Nologging옵션은 Buffer Cache라는 메모리 영역을 생략하고 기록함

 

2. UPDATE

  • 입력된 데이터의 값을 수정하기 위해 UPDATE문을 사용함

  • UPDATE문을 사용해 원하는 조건으로 데이터를 검색해서 해당 데이터를 수정할 수 있음

  • UPDATE문에 조건을 입력하지 않으면 모든 데이터가 수정됨

  • UPDATE문에서 주의사항은 데이터를 수정할 때 조건절에서 검색되는 행수만큼 수정된다는 것임

 

3. DELETE

  • 원하는 조건을 검색해서 해당되는 행을 삭제함

  • 조건문을 입력하지 않으면 모든 데이터가 삭제됨

  • 데이터를 삭제 한다고 테이블의 용량이 초기화되지는 않음

  • DELETE FROM 테이블명; 을 사용하면 테이블의 모든 데이터를 삭제하지만 테이블의 용량은 감소하지 않음

  • TRUNCATE TABLE 테이블명; 을 사용하면 테이블의 모든 데이터를 삭제하고 테이블의 용량도 초기화 됨

 

4. SELECT

(1)   SELECT문 사용

  • 테이블에 입력된 데이터를 조회하기 위해서 SELECT문을 사용함

  • SELECT문은 특정 칼럼이나 특정 행만을 조회할 수 있음

 

*SELECT문법

  •  * 은 모든 칼럼을 의미함

  • SELECT 칼럼 혹은 * FROM 테이블명 WHERE 조건

(2)   Order by를 사용한 정렬

  • SELECT문을 사용할 때 Order by를 같이 사용할 수 있음

  • Order by는 데이터를 오름차순 혹은 내림차순으로 출력함

  • Order by가 정렬 하는 시점은 모든 실행 끝난 후 데이터를 출력하기 바로 직전임

  • Order by는 메모리를 많이 사용하기 때문에 대량의 데이터를 정렬 시 성능 저하 됨

  • Order by가 없으면 오름차순으로 정렬 됨, ASC는 오름차순, DESC는 내림차순으로 정렬함

(3)   Index를 사용한 정렬 회피

  • 인덱스를 사용해서 Order by를 회피할 수 있음

  • /*+ INDEX_DESC(A) */ 인덱스 힌트를 이용해서 내림차순으로 데이터를 정렬할 수 있음

(4)   DistinctAlias

*Distinct

  • Distinct문은 칼럼명 앞에 지정해 중복된 데이터를 한 번만 조회함

*Alias

  • Alias(별칭)은 테이블명이나 칼럼명이 너무 길어서 간략하게 할 때 사용함

+ Recent posts