[JSP] 11.3 SQL 쿼리 기초
2022. 4. 19. 18:00ㆍJAVA/Servlet&JSP
1. 주요 SQL 타입
표준 SQL의 주요 타입
SQL타입 | 설명 |
CHAR | 확정 길이의 문자열 저장 |
VARCHAR | 가변 길이의 문자열 저장 (최대 255) |
LONG VARCHAR | 긴 가변 길이의 문자열 저장 |
NUMBERIC | 숫자를 저장 |
DECIMAL | 십진수 저장 |
INTEGER | 정수 저장 |
TIMESTAMP | 날짜 및 시간을 저장 |
TIME | 시간을 저장 |
DATE | 날짜를 저장 |
오라클 데이터 타입
문자 데이터 타입
데이터 타입 | 내용 |
CHAR(n) | 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte |
VARCHAR2(n) | 가변길이 문자 / 최대 4000BYTE / 디폴트 값은 1byte |
NCHAR(n) | 고정길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte |
NVARCHAR(n) | 가변길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte |
LONG | 최대 2GB 크기의 가변길이 문자형 |
CLOB | 대용량 텍스트 데이터 타입(최대 4Gbyte) |
NCLOB | 대용량 텍스트 유니코드 데이터 타입(최대 4Gbyte) |
숫자 데이터 타입
데이터 타입 | 내용 |
NUMBER(P,S) | 가변숫자 / P (1 ~ 38, 디폴트 : 38) / S (-84 ~ 127, 디폴트 값 : 0) / 최대 22byte |
FLOAT(P) | NUMBER의 하위타입 / P (1~128 .디폴트 : 128) / 이진수 기준 / 최대 22byte |
BINARY_FLOAT | 32비트 부동소수점 수 / 최대 4byte |
BINARY_DOUBLE | 64비트 부동소수점 수 / 최대 8byte |
날짜 데이터 타입
데이터타입 | 설명 |
DATE | BC 4712년 1월 1일부터 9999년 12월 31일, 연, 월, 일, 시, 분, 초 까지 입력 가능 |
TIMESTAMP |
연도, 월, 일, 시, 분, 초 + 밀리초까지 입력가능 |
LOB 데이터 타입
데이터 타입 | 설명 |
CLOB | 문자형 대용량 객체 고정길이와 가변길이 문자집합 지원 |
NCLOB | 유니코드를 지원하는 문자형 대용량 객체 |
BLOB | 이진형 대용량 객체 |
BFILE | 대용량 이진 파일에 대한 위치,이름 저장 |
2. 테이블 생성 쿼리
create table TABLENAME(
FIELD_NAME1 FIELD_TYPE1(LEN1) PRIMARY KEY,
FIELD_NAME2 FIELD_TYPE2(LEN2) NOT NULL,
...
FIELD_NAMEn FIELD_TYPEn(LENn) UNIQUE
)
create table MEMBER(
MEMBERID VARCHAR(10) PRIMARY KEY,
PASSWORD VARCHAR(10) NOT NULL,
NAME VARCHAR(20) NOT NULL,
EMAIL VARCHAR(80) UNIQUE
)
3. 테이블 삽입 쿼리
INSERT INTO [테이블 이름]([필드1], [필드2], ..., [필드n])
VALUES ([값1], [값2], ..., [값n])
테이블에 대한 필드 목록을 정의하면 일부 필드에 대해서 값을 지정하여 데이터를 삽입할 수 있습니다.
insert into MEMBER(MEMBERID, PASSWORD, NAME) values('user1', '1234', '김용환')
테이블에 대한 필드 목록을 표시하지 않으면 전체 필드에 대해서 값을 지정해야함
insert into MEMBER values('user1', '1234', '김용환', 'user1@gmail.com')
4. 데이터 조회 쿼리 - 조회 및 where
select [필드1], [필드2], ..., [필드n] from [테이블 이름] [where 필드이름 = 값]
select * from MEMBER where NAME = '김용환';
and 연산자 사용 (or, <>, IS NULL, IS NOT NULL)
select * from MEMBER
where NAME = '김용환' and EMAIL = 'user1@gmail.com';
like 연산자 사용
select * from MEMBER
where NAME like '김%';
5. 데이터 조회 쿼리 정렬
select .. from [테이블 이름] where [조건절] order by [필드1] asc, [필드2] desc, ...
- asc : 오름차순, 생략 가능
- desc : 내림차순
6. 데이터 쿼리 조회 - 집합
select max(SALARY), min(SALARY), sum(SALARY) from ...
select count(*) as 회원수 from MEMBER;
7. 데이터 수정 쿼리
update [테이블이름] set [필드1]=[값1], [필드2]=[값2], ..., [필드n]=[값n] where [조건절]
update MEMBER set NAME='홍길동' where EMAIL = 'user1@gmail.com';
8. 데이터 삭제 쿼리
delete from [테이블이름] where [조건절]
delete from MEMBER where MEMBERID = 'user1';
9. 조인
select A.필드1, A.필드2, B.필드3, B.필드4
from [테이블1] A inner join [테이블2] B on A.[필드x] = B.[필드x]
References
JSP 2.0 프로그래밍 기초부터 중급까지
[Oracle] 오라클 데이터타입(DataType) 총 정리
'JAVA > Servlet&JSP' 카테고리의 다른 글
[JSP] 11.5 자카르타 DBCP API를 이용한 커넥션 풀 사용 (0) | 2022.04.28 |
---|---|
[JSP] 11.4 JSP에서 JDBC 프로그래밍하기 (0) | 2022.04.28 |
[JSP] 11.2 오라클 PDB 서버에 접속하기 (0) | 2022.04.19 |
[JSP] 11.1 데이터베이스 기초 (0) | 2022.04.19 |
[JSP] 10. JSP에서 자바빈 활용하기 (0) | 2022.04.12 |