본 문서의 내용은 한국데이터산업진흥원에서 펴낸 SQL 전문가 가이드를 기반으로 자격증 취득에 도움이 될 개념을 정리한 것입니다.
![]() |
|
3. DML
1. INSERT
-- 1. 컬럼 리스트 명시
INSERT INTO 테이블명 (컬럼 리스트)
VALUES (값 리스트);
-- 2. 컬럼 리스트 명시 X
INSERT INTO 테이블명 VALUES (전체 컬럼에 넣을 값 리스트);
- 해당 컬럼명과 입력되어야 하는 값을 서로 1:1 로 매핑해서 입력하면 된다.
- 첫 번째 유형은 컬럼의 순서는 테이블의 칼럼 순서와 매치할 필요는 없으며, 정의하지 않은 컬럼은 Default 로 NULL 값이 입력된다.
- 단, Primary Key 나 Not NULL 로 지정된 컬럼은 NULL 값이 허용되지 않는다.
- 두 번째 유형은 컬럼의 순서대로 빠짐없이 데이터가 입력되어야 한다.
- 정의되지 않은 미지의 값은 두 개의 Single Quotation을 붙여서 ''로 표현하거나, NULL 이라고 명시적으로 표현할 수 있다.
2. UPDATE
UPDATE 테이블명 SET 수정 컬럼명 = 수정할 새로운 값;
- 입력한 정보 중에 잘못 입력되거나 변경이 발생하여 정보를 수정해야 하는 경우 사용한다.
3. DELETE
DELETE (FROM) 테이블명;
- DML(INSERT, UPDATE, DELETE, SELECT) 명령어의 경우, 조작하려는 테이블을 메모리 버퍼에 올려놓고 작업을 하기 때문에 실시간으로 테이블에 영향을 미치는 것은 아니다. 따라서 버퍼에서 처리한 DML 명령어가 실제 테이블에 반영되기 위해서는 COMMIT 명령어를 입력하여 TRANSACTION 을 종료해야 한다.
- SQL Server의 경우, DML 역시 AUTO COMMIT 처리된다.
- 테이블의 전체 데이터를 삭제하는 경우, 시스템 활용 측면에서는 삭제된 데이터를 로그로 저장하는 DELETE TABLE 보다는 시스템 부하가 적은 TRUNCATE TABLE 을 권고한다. 단, TRUNCATE TABLE 의 경우 삭제된 데이터의 로그가 없으므로 ROLLBACK 이 불가능하므로 주의해야 한다.
4. SELECT
SELECT (ALL/DISTINCT) 컬럼명
FROM 테이블명;
-- Wildcard 사용
SELECT * FROM TABLE;
-- Alias 사용
SELECT PLAYER_NAME AS "선수 이름"
FROM PLAYER;
-
ALL: Default 옵션이므로 표시하지 않아도 된다.
-
DISTINCT: 중복된 데이터는 1건으로 처리하여 출력한다.
-
WILDCARD '*'를 사용하면 모든 컬럼 정보를 조회할 수 있다.
- ALIAS 부여하기
- 컬럼명 바로 뒤에 작성한다.
- AS 키워드를 사용할 수 있다.
- 이중 인용부호는 ALIAS가 공백, 특수문자를 포함하거나 대소문자 구분이 필요할 때 사용한다.
5. 산술 연산자와 합성 연산자
산술 연산자
- 수학에서의 4칙 연산과 동일하게 적용한다.
- 산술 연산을 사용하거나 특정 함수를 적용하면, 기존 컬럼에 적절한 ALIAS를 새롭게 부여하는 것이 좋다.
- 수학에서와 같이 (), *, /, +, - 의 우선순위를 가진다.
SELECT HEIGHT - WEIGHT "키-몸무게"
FROM PLAYER;
합성 연산자
- 문자와 문자를 연결하며 2개의 수직 바(||)에 의해 이루어진다. (Oracle)
- 문자와 문자를 연결할 때 + 표시에 의해 이루어진다. (SQL Server)
- 공통적으로 CONCAT 함수 사용이 가능하다.
- 컬럼과 문자 또는 다른 컬럼과 연결시킨다.
-- Oracle
SELECT PLAYER_NAME || '선수'
FROM PLAYER;
-- SQL Server
SELECT PLAYER_NAME + '선수'
FROM PLAYER;
↓SQL 전문가 가이드 요약 목록
더보기
1장. 데이터 모델링의 이해
Part 1. 데이터 모델링의 이해
Part 2. 데이터 모델과 성능
2장. SQL 기본 및 활용
Part 1. SQL 기본
Part 2. SQL 활용
Part 3. SQL 최적화 기본원리
따로 PDF 파일이 필요하신 분은 댓글을 통해 메일 주소 적어주시기 바랍니다.
'데이터 사이언스 > SQL' 카테고리의 다른 글
[SQLD 학습 자료 요약] SQL 기본 및 활용 1.5. WHERE 절 (0) | 2020.11.22 |
---|---|
[SQLD 학습 자료 요약] SQL 기본 및 활용 1.4. TCL (0) | 2020.11.22 |
[SQLD 학습 자료 요약] SQL 기본 및 활용 1.2. DDL (0) | 2020.11.19 |
[SQLD 학습 자료 요약] SQL 기본 및 활용 1.1. 관계형 데이터베이스 개요 (6) | 2020.11.18 |
[SQLD 학습 자료 요약] 데이터 모델링의 이해 2.6. 분산 데이터베이스와 성능 (0) | 2020.11.18 |