- HOME
- [종료]구루비 DB 스터디
- 2013년 하반기 - 오라클 트러블슈팅 스터디
- 3.DML(DATA MANIPULATION LANGUAGE)
- INSERT
- UPDATE
- DELETE
- DML과 DDL
- SELECT
- 산술 연산자와 합성 연산자
INSERT
- 테이블에 데이터를 입력(한번에 한건만 입력)
- 첫번째 테이블의 컬럼을 정의하는 방법은 테이블 컬럼순서와 매치할 필요는 없으며 정의하지 않은 컬럼은 디폴트로 NULL값이 입력된다.(Primary Key나 Not NULL로 지정된 컬럼일 경우 에러 발생)
- 두번째 유형은 테이블에 정의된 컬럼의 순서대로 빠짐없이 데이터가 입력되어야 한다.
- 문자형 데이터 유형의 경우 '' 안에 데이터를 입력한다.
- NULL이나 ''를 통해 정의되지 않은 미지의 값을 입력할 수 있다.
UPDATE
- 입력된 데이터를 수정
- 예제
DELETE
- 데이터를 삭제
- 예제
- FROM 구문은 생략이 가능
- WHERE 절을 사용하지 않을시 테이블의 모든 데이터가 삭제
DML과 DDL
- DDL은 직접 데이터베이스의 테이블에 영향을 미치기 때문에 DDL을 입력하는 순간 즉시 AUTO COMMIT된다.
- DML은 조작하는 데이터를 메모리 버퍼에 올려 작업하기 때문에 실제 테이블에 변경이 반영되기 위해서는 COMMIT 명령어를 입력하여 TRANSACTION을 종료해야 한다.
- SQL Server의 경우 DML도 AUTO COMMIT 된다.
- 테이블의 전체 데이터를 삭제하는 경우 시스템 활용 측면에서는 시스템 부하가 적은 TRUNCATE TABLE을 권고한다.
- DELETE는 삭제된 데이터를 로그에 저장하는 작업을 한다.
- TRUNCATE TABLE은 로그를 저장하지 않으므로 ROLLBACK이 불가능하다.
- SQL Server의 경우 TRUNCATE TABLE문 역시 ROLLBACK 구문을 통해 되돌릴 수 있다.
SELECT
- 사용자가 입력한 데이터를 조회하는 명령
- 예제
- ALL/DISTINCT 옵션
- WILDCARD 사용: 테이블에서 모든 컬럼 정보를 보고 싶을 경우 * 사용
- 컬럼 ALIAS 부여
- 컬러명 바로 뒤에 온다.(컬럼명과 ALIAS사이에 AS ,as 키워드 사용 가능)
- "" 사이에 넣은 ALIAS명은 공백, 특수문자포함, 대소문자 구분이 필요할때 사용한다.(SQL Server의 경우 "", '', [] 모두 사용 가능하다.)
산술 연산자와 합성 연산자
- 산술 연산자
- NUMBER ,DATE 자료형에 대해 적용
- 일반적은 수학에서의 4칙 연산과 동일(우선순위도 동일: (), *, /, + -)
- 우선순위를 위한 괄호 적용이 가능
- 산술 연산자 사용시 컬럼 LABEL이 길어지게 되므로 적절한 ALIAS를 부여하는 것이 좋다.
- 예제
- 합성 연산자
- 문자와 문자를 연결한다.(리포트 출력시 유용하다.)
- 2개의 수작바(||)에 의해 이루어진다.(ORACLE)
- SQL Server의 경우 + 표시에 의해 이루어진다.
- 두 벤더 모두 CONCAT(string1, string2) 함수 사용이 가능하다.
- 컬럼과 문자 혹은 컬럼과 컬럼을 연결 가능하다.
- HOME
- [종료]구루비 DB 스터디
- 2013년 하반기 - 오라클 트러블슈팅 스터디
- 3.DML(DATA MANIPULATION LANGUAGE)