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

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

 

 

기본적인 데이터베이스 이론

아래 포스팅에 정리해둔 게 있다.

https://bbbbabbbababababa.tistory.com/48

 

[Java 풀스택 개발자] SQL편: SQL의 작동원리와 기본 문법

0. 들어가기에 앞서React 실전에 대한 글을 쓰려고 했지만 기간이 많이 지나기도 했고 여러 모로 고민되어 이것은 작업일지가 될듯 하다. 그러하여 오늘은 SQL에 대해서 살펴볼 예정이다. 먼저 SQL

bbbbabbbababababa.tistory.com

 

 

 

CREATE TABLE

TABLE을 만들려면 CREATE TABLE문을 사용한다. 다음과 같은 문법을 쓴다.

CREATE TABLE 테이블 이름(
	컬럼명 컬럼타입(길이) NULL/NOTNULL/DEFAULT 부분/기타 조건,
	컬럼명 컬럼타입(길이) NULL/NOTNULL/DEFAULT 부분/기타 조건,
    …
);

 

컬럼의 타입에 대해서

컬럼의 타입은 여러 가지가 있다. 이 컬럼 타입들 또한 제품마다 다른데, 오라클은 다음과 같다.

다음 포스팅의 참조를 해보자.

 

https://coding-factory.tistory.com/416

 

[Oracle] 오라클 데이터타입(DataType) 총정리

데이터 타입 데이터 타입이란 컬럼이 저장되는 데이터 유형을 말합니다. 오라클에서 기본적으로 제공하는 기본 데이터 타입과 이 기본데이터 타입을 혼합하여 만들 수 있는 사용자 정의 데이터

coding-factory.tistory.com

 

 

KEY에 대해서

KEY는 일종의 식별자이다. 데이터를 어떻게 식별할 수 있느냐에 대한 것으로, 비유를 하면 우리의 ID 같은 것이다. 이 KEY에는 여러 종류가 있다.

 

1. 후보 키 Candidate Key

이 컬럼으로 식별이 가능하다면 보통 후보 키라고 부른다. 기본적인 식별자라고 할 수 있다.

 

2. 기본 키Primary Key, PK

후보키 중에서 대표격인 것을 기본키라고 한다. 특징으로는 NULL 불가, 중복 불가가 있다. 만약 이 기본키가 되지 못한 후보 키가 있다면 그들은 대체 키Alternate Key라고 부른다.

 

3. 외래 키Foreign Key, FK

다른 테이블의 기본 키를 참조하는 키를 외래 키라고 한다.

두 테이블을 연결해준다.

 

 

ALTER TABLE

ALTER TABLE은 테이블을 수정하기 위한 DDL(데이터 질의어)이다. 다음처럼 쓴다.

ALTER TABLE 테이블명 ADD( //테이블 컬럼을 추가한다.
	컬럼명 컬럼타입(길이) NULL/NOTNULL/DEFAULT 부분/기타 조건
);

//컬럼을 삭제한다.
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

//여러 개의 컬럼을 삭제한다.
ALTER TABLE 테이블명 DROP(컬럼 명1, 컬럼 명2);

// 컬럼의 이름을 변경한다.
ALTER TABLE 테이블명 RENAME COLUMN 변경할 컬럼 TO 변경할 이름;

// 데이터 형식이나 제약 조건 등을 변경한다.
ALTER TABLE 테이블명 MODIFY 변경할컬럼 데이터타입(길이) 기타;

// 기본 키를 삭제한다(PRIMARY KEY)
ALTER TABLE 테이블명 DROP PRIMARY KEY;

// 기본 키를 추가한다
ALTER TABLE 테이블명 ADD CONSTRAINT 키이름 PRIMARY KEY(키가 될 컬럼명);

// 외래 키를 추가한다
ALTER TABLE 테이블명 ADD CONSTRAINT 키이름 FOREIGN KEY(키가 될 컬럼명) REFERENCES 참조테이블(참조테이블 컬럼명);

// 체크 등의 제약조건을 삭제한다.
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;

 

 

컬럼을 INSERT 하기

기본적으로 컬럼을 넣기 위해서는 다음과 같이 사용한다.

 

 INSERT INTO 테이블명(컬럼명 리스트) 
 		 VALUES (값리스트);

 

만약 값리스트가 컬럼명 리스트와 일치할 경우, 컬럼명 리스트 부분은 넣지 않아도 된다.

 

오라클의 경우 여러 INSERT를 사용할 거면 이렇게 사용한다. (DUAL이라는 가상 테이블은 ORACLE에서만 사용한다.)

    INSERT ALL
        INTO 테이블명([컬럼명 나열]) VALUES(값 나열)
        INTO 테이블명([컬럼명 나열]) VALUES(값 나열)
        INTO 테이블명([컬럼명 나열]) VALUES(값 나열)..
    SELECT *
    FROM DUAL; --가짜(가상) 테이블

 

 

만약 MySQL이라면 이렇게 처리하면 된다.

INSERT INTO 테이블명 (컬럼명 리스트)
    VALUES (값 나열),
    (값 나열),
    (값 나열);