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) Distinct와 Alias
*Distinct
-
Distinct문은 칼럼명 앞에 지정해 중복된 데이터를 한 번만 조회함
*Alias
-
Alias(별칭)은 테이블명이나 칼럼명이 너무 길어서 간략하게 할 때 사용함
'SQL 공부' 카테고리의 다른 글
(SQLD)DML(Data Manipulation Language) (0) | 2020.08.20 |
---|---|
(SQLD)DDL(Data Definition Language) (0) | 2020.08.08 |
(SQLD)관계형데이터베이스(Relation Database)/SQL 종류 (0) | 2020.08.07 |
(SQLD)반정규화(De-Normalization)/분산 데이터베이스 (0) | 2020.08.06 |
(SQLD)정규화(Normalization)/정규화와 성능 (0) | 2020.08.04 |