제 3절 DML (Data Manipulation Language)
테이블의 자료들을 입력, 수정, 삭제, 조회 하는 DML 사용 방법을 정리한다.
1. INSERT
두 가지 방법이 있다. 한 번에 한 건만 입력 된다.
INSERT INTO 테이블명 (COLUMN1, COLUMN2, COLUMN3) VALUES (DATA1, DATA2, DATA3);
INSERT INTO 테이블명 VALUES (DATA1, DATA2, DATA3);
첫 번째 유형은 작성한 칼럼 순서에 맞게 뒤에 값들 순서도 맞춰준다. (테이블 칼럼 순서에 맞출 필요 없다)
두 번째 유형은 테이블 칼럼 순서에 맞게 써야 하며 빠짐 없이 모든 칼럼에 대해 값을 넣어야 한다.
2. UPDATE
UPDATE 테이블명
SET 칼럼명 = 새로운값;
UPDATE PLAYER
SET BACK_NO = 99
WHERE ID = 'MF2';
조건절 WHERE를 명시하지 않으면 모든 행에 대해 수정된다.
3. DELETE
조건절 WHERE를 명시하지 않으면 모든 행이 삭제된다.
DELETE [FROM] 테이블명
WHERE 조건절;
DDL의 경우 명령어 입력과 동시에 AUTO COMMIT 되어어 테이블에 영향을 미친다.
DML의 경우, 테이블을 메모리 버퍼에 올려두고 작업한다. 그래서 DML 명령 후에 COMMIT 명령어 실행으로 TRANSACTION을 종료해야 테이블에 반영된다.
데이터를 삭제할 때 DELETE 명령은 삭제된 데이터를 로그로 저장한다.
이에 반해 TRUNCATE TABLE의 경우 로그 저장을 안하므로 ROLLBACK이 불가능하다.
4. SELECT
SELECT ALL/DISTINCT 칼럼명, 칼럼명, 칼럼명 ...
FROM 테이블명;
ALL: 디폴트 옵션. 중복된 데이터도 모두 출력한다.
DISTINCT : 중복된 데이터는 1건으로 처리해서 출력한다.
SELECT PLAYER_ID, PLAYER_NAME, POSITION, HEIGHT
FROM PLAYER;
WILDCARD 사용하기
아스트리크(*) 를 사용하여 해당 테이블의 모든 칼럼을 조회할 수 있다.
SELECT * FROM 테이블명;
ALIAS 부여하기 (별명 붙이기)
칼럼명 바로 뒤에 적는다.
칼럼명 바로 뒤에 AS 키워드를 사용하여 별명을 붙여도 된다.
띄어쓰기를 포함한 경우에는 별명을 ""로 감싸준다.
SELECT PLAYER_NAME AS 선수명, HEIGHT AS 키
FROM PLYAER;
5. 산술 연산자와 합성 연산자
산술 연산자
NUMBER 와 DATE 자료형에 적용된다.
사칙연산이 가능하다.
괄호를 이용하여 우선순위 적용이 가능하다.
SELECT PLAYER_NAME 이름, ROUND(WEIHGT/(HEIGHT/100), 2) "BMI 비만지수"
FROM PLAYER;
합성 연산자 (CONCATENATION)
문자와 문자를 연결한다.
- ORACLE 의 경우 || , SQL SERVER 의 경우 + 표시로 연결한다.
- CONCAT(STRING1 , STRING2) 함수를 사용할 수 있다.
- 문자 표현식의 결과로 새로운 칼럼을 생성한다.
아래 예시는 3개의 컬럼의 데이터들을 이어붙여서 '체격정보'라는 새로운 칼럼을 생성한다.
SELECT PLAYER_NAME ||'선수' || HEIGHT || 'cm' || WHEIGHT || 'kg' 체격정보
FROM PLAYER;
'프로그래밍 > SQLD' 카테고리의 다른 글
SQL 기본 4 : WHERE 절 (0) | 2020.05.27 |
---|---|
SQL 기본 3 : TCL (0) | 2020.05.27 |
SQL 기본 1 : RDB 개요, DDL (0) | 2020.05.27 |
Toad TNS file 검증 에러 (0) | 2020.02.21 |
실습 환경 만들기 - Toad 설치 (0) | 2020.02.21 |