데이터 조작어 (DML) - INSERT
INSERT INTO 테이블명 VALUES (값 리스트);
- 값 리스트는 테이블의 구조와 동일해야 함 (타입, 순서 등)
INSERT INTO 테이블명 [(속성리스트)] VALUES (값 리스트);
- 값 리스트는 속성리스트의 구조 동일해야함
- 테이블의 제약조건에 'NOT NULL', 'PK'가 존재한다면 속성 리스트에 반드시 포함해야한다
INSERT INTO 테이블명1 [(속성리스트)] SELECT 속성 FROM 테이블명2
- SELECT 구문의 테이블명2의 레코드들을 테이블명1로 INSERT 가능
데이터 조작어 (DML) - UPDATE
- 조건식이 없으면 모든 레코드의 값이 수정 됨
- 조건식이 있으면 조건에 맞는 레코드만 수정 됨
UPDATE 테이블명
SET 속성이름1 = 값1 [ , 속성이름2 = 값2, ........]
where [<검색조건>];
UPDATE 테이블명
SET 속성이름1 = ( 서브쿼리 SELECT )
데이터 조작어 (DML) - DELETE
DELETE 테이블명 [where 조건식]
ROLLBACK
- DML 작업 시 가장 최근의 commit 지점까지 취소
- DCL, DDL은 자동 커밋
- 아래 예시와 같은 경우 Rollback 불가능
작업 순서
1. update 작업 진행
2. create table 작업 진행
3. Rollback하여 1번의 update 진행 전으로 RollBack 이 가능한가?
--> 불가능, 이유는 2번의 create 작업을 진행하면 자동 commit이 되기 때문에 1번 update 전으로 rollback이 무시됨
JSP파일 UTF-8 설정
EUC-KR 과 UTF-8의 차이 (아래 블로그 참고)
https://blog.naver.com/bbmobile/221360230141
간략 설명
EUC-KR 은 한글 한글자당 2바이트로 인식
UTF-8 은 2~4바이트로 가변 크기 인코딩
1.URIEncoding="utf-8" 설정 추가
Servers 패키지 - server.xml - Conntector 에 URIEncoding="utf-8" 부분에 설정 추가

2. JSP 코드에서 아래와 같이 설정

숫자 내장함수
1 | ABS (값) | - 절대 값을 반환하는 함수 |
2 | ceil (값) | - 무조건 올림수로 반환하는 함수 |
3 | floor (값) | - 무조건 버림수를 반환하는 함수 |
4 | round (값, 자리수) | - 반올림을 반환하는 함수 - 자리수가 0이면 정수부만 표시 (37.0 -> 37) - 자리수가 1이면 소수점 첫번째 자리 까지 표시 (37.89 -> 37.9) - 자리수가 -1이면 십의자리까지 표시 |
5 | log (밑, X) | - 말그대로 수학 log 함수이다 - 밑 10 , X=100 이면 2를 반환 |
6 | power (숫자, n제곱) | - 제곱 값을 반환 (2^3) -> 8 반환 |
7 | sqrt | - 제곱 승을 반환 (9) -> 3 반환 |
8 | sign | - 결과 값이 양수 = 1 반환 - 결과 값이 음수 = -1 반환 - 결과 값이 0 = 0 반환 |
ABS (절대 값)

CEIL (올림 수)

FLOOR (버림 수)

ROUND (반올림)
예시1)




예시2) 평균 백원 단위로 반올림
ROUND(avg(saleprice), -2)

POWER (제곱 값 반환)

sqrt

문자 내장함수
CHR ( 정수 ) | 정수 아스키코드를 문자로 반환 |
CONCAT ('문자열1', '문자열2') | 두 문자열 연결 |
INITCAP ('문자열') | 단어의 첫 글자를 대문자로 변환 |
LOWER ('문자열') | 문자열을 모두 소문자로 변환 |
UPPER ('문자열') | 문자열을 모두 대문자로 변환 |
LPAD ('문자열', 정수형, '채울글자') | 정수만큼 자리수에 문자열을 채우는데 왼쪽에 채울글자를 채워라 |
RPAD ('문자열', 정수형, '채울글자') | 정수만큼 자리수에 문자열을 채우는데 오른쪽에 채울글자를 채워라 |
REPLACE('문자열1', '문자열2', '문자열3') | '문자열1'에서 '문자열2'의 글자를 '문자열3'으로 바꿔라 |
TRIM (c FROM s) | 양쪽 공백을 삭제 |
LTRIM (문자열1, 문자열2) | 왼쪽 공백 제거 |
RTRIM (문자열1, 문자열2) | 오른쪽 공백 제거 |
SUBSTR(문자열,시작위치,길이) | 문자열의 시작위치에서 길이만큼 잘라서 반환 |
LENGTH (문자) | 문자열의 길이를 반환 |
ASCII (값) | 문자를 정수형으로 반환 |
instr ('문자열', '찾을 문자') instr ('문자열1', '문자열2', 숫자1) |
- 문자열에 특정 문자열의 위치를 반환 - 문자열1로부터 숫자1인덱스 이후에 나오는 문자열 2의 위치 |
CHR
- 정수에 해당하는 아스키 코드 반환 ( 65 -> 'A' )

CONCAT
- 두 문자열을 합하여 반환

INITCAP
- 단어의 첫글자를 대문자로 반환

lower
- 소문자로 변환

UPPER
- 대문자로 변환

TRIM
- 좌우 공백 제거 (공백 좌우 3개씩 6개)ㅇ
- length로 공백 제거 되었는지 표현하였음

LTRIM
- 왼쪽 공백 제거 (공백 좌우 3개씩 6개)
- length로 공백 제거 되었는지 표현하였음

RTRIM
- 오른쪽 공백 제거 (공백 좌우 3개씩 6개)
- length로 공백 제거 되었는지 표현하였음

length
- 문자열의 길이를 반환하는 함수
- length로 공백 제거 되었는지 표현하였음

팁
dual 테이블 : 가상의 테이블
사용법 : SELECT ABS(-78) FROM dual;
반응형
'개발 > 교육' 카테고리의 다른 글
(데이터베이스)23일차 (0) | 2022.04.27 |
---|---|
(데이터베이스)22일차 (0) | 2022.04.26 |
(데이터베이스)20일차 (0) | 2022.04.22 |
(데이터베이스)19일차 (0) | 2022.04.21 |
(데이터베이스)17일차 (0) | 2022.04.19 |
댓글