[Java 풀스택 과정 강의] 2월 9일

부트캠프 일지/Java 풀스택 과정 강의
2026.02.13
※ TIL와는 별개로 적는 개인 개발 일지라서 말은 좀 편하게하는 페이지입니다.
일지이기 때문에 일기의 성격이 더 강합니다.

 

 

시퀀스

시퀀스란 오라클에서만 사용되는 유일한 값을 생성해주는 데이터베이스 객체이다. 기본 키와 같은 것에서 사용하여, 일련값을 자동생성할 때 사용한다. 테이블과 독립적으로 저장되고 생성한다. 다음과 같이 사용한다.

 

CREATE SEQUENCE 시퀀스명
START WITH 시작값
INCREMENT BY 증가값
MAXVALUE 최대값
MINVALUE 최소값
CYCLE/NOCYCLE;

 

 

값을 검색하기 위해서는 DUAL 테이블에서 해야한다.

SELECT NO_SEQ.CURRVAL FROM dual;

 

그 외 시퀀스 관련 SQL문이다.

 

-- 시퀀스 수정
ALTER SEQUENCE NO_SEQ MAXVALUE 1000;
    
-- 시퀀스 구조의 속성을 검색한다.
-- USER_SEQUENCES라는 SYSTEM TABLE을 활용한다.
SELECT * FROM USER_SEQUENCES;

-- 시퀀스 삭제
DROP SEQUENCE NO_SEQ;

-- 시퀀스 삭제 결과 확인
SELECT SEQUENCE_NAME FROM USER_SEQUENCES;

 

 

UPDATE

컬럼의 값을 변경하는 DML(데이터 조작어)이다.

UPDATE 테이블명
SET 컬럼명 변경할 값
[WHERE 조건절];

 

WHERE을 사용하지 않을 경우 해당 테이블의 컬럼 값이 전부 변경되므로, WHERE을 사용해서 조건을 정하게 된다.

 

 

WHERE문

WHERE의 경우 UPDATE나 SELECT, DELETE에서 사용되는데, 특정 값을 지정하기 위해서 사용된다.

WHERE에 사용할 수 있는 것들은 다음과 같다.

 

-- 특정 값과 정확히 일치하는 컬럼값을 소유한 레코드를 선택한다.
WHERE 컬럼명 = '특정 값';

-- 특정 값과 일치하지 않는 컬럼값을 소유한 레코드를 선택한다.
WHERE 컬럼명 != '특정 값';

-- 비교하여 특정 값보다 큰 컬럼값을 소유한 레코드를 선택한다. >=일 경우 같은 값도 포함.
WHERE 컬럼명 > 특정 값;

-- 비교하여 특정 값보다 작은 컬럼값을 소유한 레코드를 선택한다. <=일 경우 같은 값도 포함.
WHERE 컬럼명 < 특정 값;

-- A와 B 값 사이에 있는 컬럼값을 소유한 레코드를 선택한다.
WHERE 컬럼명 A BETWEEN B;

-- IN 안의 리스트에 포함되는 컬럼값을 소유한 레코드를 선택한다. 
WHERE 컬럼명 IN(A값, B값, …);

-- NOT IN 안의 리스트에 포함되지 않는 컬럼값을 소유한 레코드를 선택한다. 
WHERE 컬럼명 NOT IN(A값, B값, …);

-- NULL값인 컬럼값을 소유한 레코드를 선택한다. 
WHERE 컬럼명 IS NULL;

-- NULL이 아닌 컬럼값을 소유한 레코드를 선택한다. 
WHERE 컬럼명 IS NOT NULL;

-- 조건A와 조건 B를 모두 만족한 컬럼값을 소유한 레코드를 선택한다. 
WHERE 컬럼명 조건A AND 조건 B

-- 조건A 혹은 조건 B를 만족한 컬럼값을 소유한 레코드를 선택한다. 
WHERE 컬럼명 조건A OR 조건 B

 

 

LIKE문

WHERE 컬럼명에 LIKE를 사용하여 유사값을 얻을 수 있다. 이 경우 와일드카드 문자들을 사용한다.

 

-- 값A로 시작하는 모든 문자열을 컬럼값으로 보유한 레코드를 선택한다.
WHERE 컬럼명 LIKE '%값A'

-- 값A로 끝나는 모든 문자열을 컬럼값으로 보유한 레코드를 선택한다.
WHERE 컬럼명 LIKE '값A%'

-- 값A를 포함하는 모든 문자열을 컬럼값으로 보유한 레코드를 선택한다.
WHERE 컬럼명 LIKE '%값A%'

-- 값A로 시작하지 않는 모든 문자열을 컬럼값으로 보유한 레코드를 선택한다.
WHERE 컬럼명 NOT LIKE '%값A'

-- 값A로 끝나지 않는 모든 문자열을 컬럼값으로 보유한 레코드를 선택한다.
WHERE 컬럼명 NOT LIKE '값A%'

-- 값A를 포함하지 않는 모든 문자열을 컬럼값으로 보유한 레코드를 선택한다.
WHERE 컬럼명 NOT LIKE '%값A%'

-- _의 개수만큼의 길이를 보유한 컬럼값을 보유한 레코드를 선택한다.
-- _의 값은 상관하지 않는다.
WHERE 컬럼명 LIKE '_'

 

 

DELETE

데이터 삭제문이다. 다음처럼 사용한다.

DELETE FROM 테이블명
[WHERE 조건절];

 

UPDATE와 마찬가지로 WHERE로 지정하지 않으면 모든 데이터가 삭제된다.

 

 

SELECT

테이블에서 조건에 맞는 레코드를 검색하는 DQL문(데이터 질의어)이다. 다음처럼 사용한다.

 

    SELECT (ALL | DISTINCT | 컬럼 리스트 | 함수식)
    FROM [테이블 명] | DUAL
    [WHERE 검색 조건]
    [GROUP BY 컬럼명]
    [HAVING 검색조건(들)]
    [ORDER BY 컬럼명 [ASC|DESC]]

 

상세 사항은 10일에 이어진다.

 

ALL

조건절을 만족하는 데이터들의 모든 컬럼값을 반환한다. 주로 * 형태로 축약해서 사용한다.

 

DISTINCT

해당 컬럼값에서 중복값을 제외한 값을 반환할 때 사용한다.

 

 

ORDER BY

컬럼의 정렬 순서이다.

컬럼명을 적고 ASC/DESC를 쓴다.

ASC의 경우 오름차순(ㄱㄴㄷ, ABC, 1234…), DESC의 경우 내림차순(ㅎㅍㅌ, ZYX, 10987…)이다. 기본적인 설정은(아무것도 적지 않을 경우) ASC이다.