5. CRUD
C: create
R: read
U: update
D: delete
create(생성): INSERT(SQL), @PostMappinig(HTTP)
read(읽기, 조회): SELECT(SQL), @GetMapping(HTTP)
update(수정): UPDATE(SQL), @PutMapping / @PatchMapping(HTTP)
delete(삭제): DELETE(SQL), @DeleteMapping(HTTP)
6. INSERT

INSERT INTRO 테이블명(컬럼들 ...) VALUES (컬럼값들 ...) 구문을 통해
테이블에 원하는 값을 추가해준다.
이때, id 컬럼이 빠져있는 이유는
AUTO_INCREMENT를 걸어두었기 때문에
굳이 번호를 지정하지 않아도 MySQL이 알아서 번호를 세서 빈자리를 채워준다.
NOW()함수는 현재 서버 시간을 찍어주는 함수다.
INSERT INTO topic (title, description, created, author, profile)
VALUES
('MySQL', 'MySQL is ...', NOW(), 'egoing', 'developer'),
('ORACLE', 'ORACLE is ...', NOW(), 'egoing', 'developer'),
('SQL Server', 'SQL Server is ...', NOW(), 'duru', 'data administrator');
이 쿼리는 하나씩 쳤지만, INSERT INTO topic (title, description, created, author, profile) VALUES를 적은 뒤
괄호를 연이어 적어 한번에 추가하는 방법도 있다.
그리고 SELECT 컬럼명 FROM 테이블명 구문을 통해
데이터들을 조회할 수 있다.
여기서는 *를 사용하여 전부 가져왔다.
앞서 topic 테이블에 추가한 데이터들이 전부 잘 보이는 것을 알 수 있다.
7. SELECT
SELECT * FROM topic;

SELECT 컬럼명 FROM 테이블명 구문을 통해
데이터들을 조회할 수 있다.
여기서는 *를 사용하여 전부 가져왔다.
앞서 topic 테이블에 추가한 데이터들이 전부 잘 보이는 것을 알 수 있다.
SELECT id, title, created, author FROM topic;

SELECT 뒤에 컬럼들을 추가하여
지정된 컬럼들만 가져올 수도 있다.
SELECT "egoing";

이런식으로 특정 문자열을 지정하여 SELECT하면
컬럼명과 컬럼값을 특정 문자열로 채운다.
SELECT "egoing", 1+1;

문자열은 그대로 컬럼값으로 들어가지만,
정수형은 계산이 되어 컬럼값으로 들어간 것을 볼 수 있다.
MySQL 내부에는 수식을 계산하고 처리하는 연산 엔진(엔진 코어)이
실시간으로 돌아가고 있음을 알 수 있다.
SELECT id, title, created, author FROM topic WHERE author = "egoing";

WHERE 구문을 추가하여 특정 컬럼값일때의 데이터들을 가져올 수 있다.
SELECT id, title, created, author FROM topic WHERE author = "egoing" ORDER BY id DESC;

OREDER BY 구문을 추가하여 정렬을 할 수 있다.
기준 컬럼을 적어주고 DESC(내림차순) ASC(오름차순)을 적으면 된다.
SELECT id, title, created, author FROM topic WHERE author = "egoing" ORDER BY id DESC LIMIT 2;

LIMIT 구문을 추가하면 가져올 데이터의 개수를 제한할 수 있다.
이는 너무 많은 데이터를 가져왔을 때 생기는 오류를 방지할 수 있다.
8. UPDATE
UPDATE topic SET description = "Oracle is ...", title = "Oracle" WHERE id = "2";

UPDATE 테이블명 SET 컬럼명="컬럼값", ... WHERE 컬럼 = "컬럼값"
구문을 통해 해당되는 데이터값을 수정해줄 수 있다.
id가 2번인 행의 데이터 중 title 컬럼과 description 컬럼의 값이 수정된 것을 알 수 있다.
9. DELETE
DELETE FROM topic WHERE id = "5";

DELETE FROM 테이블명 WHERE 조건
구문을 통해 해당되는 행을 삭제할 수 있다.
id가 5인 마지막 행이 삭제된 것을 볼 수 있다.
'백엔드' 카테고리의 다른 글
| Spring 입문 #9 - 트랜잭션(Tranjaction)이란? (0) | 2026.06.01 |
|---|---|
| Spring 입문 #8 - 스프링 DB 접근 기술 (0) | 2026.06.01 |
| Spring 입문 #6 - mySQL (1) (0) | 2026.05.09 |
| Spring 입문 #5 - 회원 관리 예제: 웹 MVC 개발 (0) | 2026.05.09 |
| Spring 입문 #4 - 스프링 빈과 의존관계 (0) | 2026.05.04 |
