Data Manipulation Language
: 데이터베이스 내의 데이터를 조작하는 명령
DDL
에서 정의한대로 데이터를 입력하고, 입력된 데이터를 수정, 삭제, 조회 한다.
SELECT
INSERT
UPDATE
DELETE
SELECT co1, co2, ...
FROM table
WHERE col1 = 'condition';
별칭 붙이기
table 혹은 col Name에 Alias을 붙여줄 수 있다.
여러 개의 테이블을JOIN
하거나 서브쿼리가 있을 때, 용이하다.SELECT B.BANDNAME, BM.MEMBER_NAME FROM BAND B, BAND_MEMBER BM WHERE B.BAND_CODE = BM.BAND_CODE;
BAND
테이블 명을B
로,BAND_MEMBER
을BM
으로 FROM절에서 별칭을 붙였다.
CHR(ASCII CODE)
아스키코드 입력 시, 매핑되는 문자를 알려주는 함수
LOWER('문자열')
대문자 문자열을 소문자로 변환해준다UPPER('문자열')
문자열을 대문자로 변환
LENGTH('문자열')
문자열의 길이를 반환한다
SUBSTR('문자열', 시작점[,길이])
문자열의 원하는 부분만 잘라서 반환
길이를 명시하지 않았을 때, 시작점부터 끝까지 반환
SELECT SUBSTR('BANSEOJJAM',7,2) FROM DUAL;
-> JJ
REPLACE('문자열','변경 전 문자열'[,'변경 후 문자열'])
변경 후 문자열을 명시하지 않는다면, 변경 전 문자열을 제거한다.
LTRIM('문자열'[,특정문자])
문자열의 왼쪽 공백을 제거한다
특정문자 명시 시, 왼쪽부터 한 글자씩 특정 문자와 비교하여 특정문자가 포함되어 있으면 제거, 포함 안됐으면 진행을멈춘다.
SELECT LTRIM('BANSEO',''SEO') FROM DUAL;
BAN
이 출력된다.
RTRIM('문자열'[,특정문자])
문자열의 오른쪽 공백을 제거한다
특정문자 명시 시, 오른쪽부터 한 글자씩 특정 문자와 비교하여 특정문자가 포함되어 있으면 제거, 포함 안됐으면 멈춘다.
TRIM([위치][특정 문자][FROM]'문자열')
옵션이 하나도 없을 경우, 왼쪽 오른쪽 공백 제거옵션 [위치]
LEADING
: 지정한 문자와 동일한 선행문자 제거
SELECT TRIM(LEADING 'B' FROM 'BBANSEOB') FROM DUAL;
-> ANSEOB
TRAILING
: 지정한 문자와 동일한 후행문자 제거
SELECT TRIM(TRAILING 'B' FROM 'BANSEOB') FROM DUAL;
-> BANSEO
BOTH
SELECT TRIM(BOTH 'B' FROM 'BANSEOB') FROM DUAL;
-> ANSEO
ABS
(숫자)
절대값 반환SIGN
(숫자)
숫자의 부호를 반환해준다.1
OR-1
ROUND(숫자[,자릿수])
지정된 소수점 자릿수까지 반올림하여 반환
기본값 : 0
SELECT ROUND (163.76,1) FROM DUAL;
-> 163.8
SYSDATE
현재의 연, 월, 일, 시, 분, 초를 반환해준다.
EXTRACT (특정 단위 FROM 날짜 데이터)
테이블에 데이터를 입력
INSERT INTO VALUES
INSERT INTO 테이블명 (
컬럼명1, 컬럼명2 ... )
VALUES (
데이터1, 데이터2 ... )
VALUES
의 개수가 일치해야 한다.NULL
값이 대입UPDATE SET
UPDATE 테이블명
SET 컬럼명 = 새로운 데이터 (
WHERE 수정할 데이터에 대한 조건
) ;
- 저장된 데이터를 수정하고 싶을때 사용 ->
update!
- 수정하고 싶은 컬럼이 많은 경우,
SET
절에,
로 이어서 명시SET 컬럼명1 = 데이터, 컬럼명2 = 데이터 ...
WHERE
절로 조건을 명시하지 않으면, 모든 행ROW
가 변경되니 주의해야 한다.
DELETE FROM
DELETE FROM 테이블명 (
WHRER 수정할 데이터에 대한 조건
) ;
- 이미 저장된 데이터를 삭제하고 싶을때 사용
WHERE
절로 조건을 명시하지 않으면, 모든ROW
가 변경 되니 주의해야 한다.COMMIT
ROLLBACK
가능?)
TRUNCATE
와의 차이WHERE
절 없이 전체의 데이터를 삭제하고 싶을 때, DDL의TRUNCATE
를 사용한다.
ROLLBACK
불가능- 로그를 쌓지 않는다. 시스템 부하가 적다.
이런 유용한 정보를 나눠주셔서 감사합니다.