DML(Data Manipulation Language)
- 정의된 데이터베이스에 레코드를 입력, 수정, 삭제, 조회하기 위한 명령어
INSERT : 데이터 입력, UPDATE : 데이터 수정, DELETE : 데이터 삭제
| 데이터 입력 | INSERT INTO 테이블명 (컬럼명1, 컬럼명2) VALUES (컬럼명1_값, 컬럼명2_값); >> 컬럼명 지정이 이루어지지 않은 상태에서는 전체값이 들어가야 함 |
| 데이터 수정 | UPDATE 테이블명 SET (); |
| 데이터 삭제 | DELETE FROM 테이블명 (WHERE 조건); >> FROM 생략 가능 >> DB에 반영되기 전에는 되돌릴 수 있음 |
SELECT : 조회
| 데이터 조회 | SELECT 컬럼명 FROM 테이블명 WHERE 조건 GROUP BY 컬럼명 HAVING 조건 ORDER BY 컬럼명 |
| SELECT DISTINCT 컬럼명 FROM 테이블명 >> 중복을 제거하고 조회 |
|
| SELECT COUNT(컬럼명) FROM 테이블명 >> NULL을 제외하고 count |
|
| SELECT COUNT(DISTINCT 컬럼명) FROM 테이블명 >> NULL도 count |
* 문자형 함수
| LOWER(문자열) | 소문자로 변환 | LOWER('SQL') >> 'sql' |
| UPPER(문자열) | 대문자로 변환 | UPPER('sql') >> 'SQL' |
| CONCAT(문자열1, 문자열2) | 문자열1과 문자열2 결합 | CONCAT('20', '대') = '20' || '대' = '20' + '대' >> '20대' |
| SUBSTR(문자열 ,m, n) | 문자열의 m번째 자리부터 n개 자르기 | SUBSTR('KATE' ,2, 3) >> 'ATE' |
| LENGTH(문자열) = LEN(문자열) | 공배 포함 문자열 길이 | LENGTH('가 나다 라') = LEN('가 나다 라') >> 6 |
| TRIM(문자열, 제거대상) | 왼쪽과 오른쪽에서 지정 문자 제거 지정 문자가 없으면 공백 제거 |
TRIM('aabbccaa', 'a') >> 'bbcc' TRIM(' aabbccaa ', ) >> 'aabbccaa' |
| LTRIM(문자열, 제거대상) | 왼쪽에서 지정 문자 제거 | LTRIM('aabbccaa', 'a') >> 'bbccaa' |
| RTRIM(문자열, 제거대상) | 오른쪽에서 지정 문자 제거 | RTRIM('aabbccaa', 'a') >> 'aabbcc' |
* 숫자형 함수
| ROUND(숫자, 소수점 자릿수) | 반올림 | ROUND(23.4567, 2) >> 23.46 |
| TRUNC(숫자, 소수점 자릿수) | 버림 | TRUNC(23.4567, 2) >> 23.45 |
| CEIL(숫자) | 크거나 같은 최소 정수 | CEIL(33.5) >> 34 |
| FLOOR(숫자) | 작거나 같은 최대 정수 | FLOOR(33.5) >> 33 |
| MOD(분자, 분모) | 분자를 분모로 나눈 나머지 | MOD(3, 2) >> 1 |
| SIGN(숫자) | 양수면 1, 0이면 0, 음수면 -1 | |
| ABS(숫자) | 절댓값 |
* 날짜형 함수
| SYSDATE | 쿼리를 돌리는 현재 날짜 & 시각 출력 | ex) 2023/05/16 20:37:16 (datetime 형태) |
| EXTRACT(정보 FROM 날짜) | 날짜형 데이터에서 원하는 값 추출 정보 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND |
EXTRACT(YEAR FROM date '2023-05-16') >> 2023 EXTRACT(YEAR FROM sysdate) TO_NUMBER(TO_CHAR(sysdate, 'YYYY)) >> 2023 |
* 명시적 / 암시적 형변환
| TO_NUMBER(문자열) | 숫자로 변환 | TO_NUMBER('100') > 100 |
| TO_CHAR(숫자 or 날짜, 포맷) | 문자열로 변환 | TO_CHAR(200) >> '200' TO_CHAR(date '2023-05-16', 'day') >> '화요일' |
| TO_DATE(문자열, 포맷) | 날짜형으로 변환 | TO_DATE('2023051620', 'YYYYMMDDHH24') >> 2023/05/16 20:00:00 |
https://www.youtube.com/watch?v=8uP_E6SyiuM