DML 이란?
DATA MANIPULATION LANGUAGE 로 데이터 입력, 수정, 삭제, 조회 언어를 의미합니다.
INSERT
테이블에 데이터를 입력하는 방법은 두 가지 유형이 있으며 한 번에 한 건만 입력됩니다.
해당 칼럼명과 입력되어야 하는 값을 서로 1:1로 매핑해서 입력하면 됩니다.
데이터 유형이 문자 유형일 경우 데이터를 ' ' 로 감쌉니다.
INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST 에 넣을 VALUE_LIST); INSERT INTO 테이블명 VALUES (전체 COLUMN 에 넣을 VALUE_LIST);
UPDATE
입력한 정보 중에 잘못 입력되거나 변경이 발생하여 정보를 수정해야 하는 경우가 발생합니다.
UPDATE 테이블명 SET 수정되어야 할 칼럼명 = 수정되기를 원하는 새로운 값;
DELETE
테이블의 정보가 필요 없게 되었을 경우 데이터 삭제를 수행합니다.
FROM 문구는 생략이 가능하며, WHERE 절을 사용하지 않는다면 테이블의 전체 데이터가 삭제됩니다.
DELETE FROM 테이블명;
SELECT
사용자가 입력한 데이터를 조회합니다.
ALL : 기본값으로 별도로 표시하지 않아도 되며, 중복된 데이터가 있어도 모두 출력합니다.
DISTINCT : 중복된 데이터가 있는 경우 1건으로 처리해서 출력합니다.
SELECT ALL/DISTINCT 보고싶은 칼럼명, 보고싶은 칼럼명, ... FROM 테이블명;
모든 칼럼 정보를 보고 싶을 경우에는 와일드카드로 애스터리크스(*) 를 사용하여 조회할 수 있습니다.
SELECT * FROM 테이블명;
조회 컬럼에 일종의 별명을 부여해서 컬럼명을 변경할 수 있습니다.
칼럼명 바로 뒤에 오며, 칼럼명과 별칭명 사이에 AS 키워드를 사용할 수 있습니다.
SELECT 보고싶은 칼럼명 AS 별칭명 FROM 테이블명;
산술 연산자와 합성 연산자
산술 연산자는 NUMBER 와 DATE 자료형에 대해 적용되며 수학에서의 4칙 연산과 동일합니다.
산술 연산자의 종류
1. ( ) : 연산자의 우선순위를 변경하기 위한 기호
2. * : 곱하기
3. / : 나누기
4. + : 더하기
5. - : 빼기
합성 연산자는 문자와 문자를 연결하는 연산자로써 SQL 문장만으로 유용한 리포트를 출력할 수 있습니다.
합성 연산자의 특징
1. Oracle 과 Goldilocks 에서 문자와 문자를 연결하는 경우 2개의 수직 바 ( | | ) 에 의해 이루어집니다.
2. Ms-SQL 에서 문자와 문자를 연결하는 경우 + 표시에 의해 이루어 집니다.
3. 공통적으로 CONCAT 함수를 사용하여 문자를 연결할 수 있습니다.
4. 컬럼과 문자 또는 다른 컬럼과 연결시킵니다.
5. 문자 표현식의 결과에 의해 새로운 컬럼이 생성됩니다.
SELECT 컬럼1명 || '컬럼1, ' AS 컬럼별칭1, 컬럼2명 || '컬럼2 ' AS 컬럼별칭2 FROM 테이블명; SELECT CONCAT(컬럼1명, '컬럼1, ') AS 컬럼별칭1, CONCAT(컬럼2명, '컬럼2') AS 컬럼별칭2 FROM 테이블명;
참고로 데이터베이스는 DDL 과 DML 을 처리하는 방식에 있어서 차이를 보입니다.
DDL 의 경우 직접 데이터베이스의 테이블에 영향을 미치기 때문에 Auto Commit 으로 작업됩니다.
DML 은 조작하려는 테이블을 메모리 버퍼에 올려놓고 작업을 하기 때문에 실제 반영되기 위해서는 Commit 명령어를 입력하여야 합니다.
이 내용은 'SQL 전문가 가이드, 한국데이터베이스 진흥원' 에서 공부한 내용입니다.
'Database > 개념' 카테고리의 다른 글
[DATABASE] SELECT 의 WHERE 절이란? 비교 연산자, SQL 연산자, 논리 연산자란? (0) | 2018.10.31 |
---|---|
[DATABASE] TCL 이란? COMMIT, ROLLBACK, SAVEPOINT (0) | 2018.10.30 |
[DATABASE] DDL 이란? CREATE TABLE, ALTER TABLE, RENAME TABLE, DROP TABLE, TRUNCATE TABLE (0) | 2018.10.28 |
[DATABASE] 관계형 데이터베이스 개요란? (0) | 2018.10.25 |
[DATABASE] 성능 데이터 모델링, 분산데이터베이스 란? (0) | 2018.10.22 |