[백엔드를 위한 DB] SQL로 데이터 추가/수정/삭제하기

코딩하는 꽁지·2023년 12월 3일
post-thumbnail

유튜브 쉬운코드 님의 SQL로 DB에 데이터를 추가(insert)하고 수정(update)하고 삭제(delete)하는 방법을 배워봅니다. 쉽고 알찬 예제로 설명하니까 들러보세용 :) 영상을 보고 정리한 글입니다.

데이터 Insert

기본적인 insert 구문

INSERT INTO EMPLOYEE
VALUES (1, 'MESSI', '1987-02-01', 'M', 'DEV_BACK', 100000000, NULL);

-- dept_id 값을 넣어줘야 하지만 아직 DEPARTMENT 테이블의 dept_id가 존재하지 않기 때문에 NULL로 넣어줘야 한다.

VALUES() 안에 들어가는 순서는 일반적으로 테이블을 정의할 때 작성했던 어트리뷰트 순서대로 작성해주면 된다.

그게 싫다면 아래처럼 넣고 싶은 어트리뷰트만 넣어줄 수도 있다.

INSERT INTO EMPLOYEE (name, birth_date, sex, position, id)
VALUES ('JENNY', '1998-02-16', 'F', 'DEV_BACK', 3);  

✅ MySQL의 경우 SHOW CREATE TABLE 테이블명;키워드를 통해 해당 테이블의 constraints를 확인할 수 있다.

한 번에 여러 튜플 데이터 추가하기

INSERT INTO DEPARTMENT
VALUES (1001, 'headquarter', 4),
(1002, 'HR', 6),
(1003, 'development', 1);

데이터 Update

기본적인 update 구문

UPDATE EMPLOYEE
SET salary = salary * 2;

이 경우 EMPLOYEE 테이블 내 salary 어트리뷰트의 모든 값이 수정된다.

하나의 어트리뷰트에서 특정 튜플에 대해 수정해주기

-- UPDATE 테이블명 SET 수정사항 WHERE 조건;
UPDATE EMPLOYEE SET dept_id = 1003 
WHERE id = 1;

두 개 이상의 테이블에 연관된 튜플 수정해주기

UPDATE EMPLOYEE, WORKS_ON
SET salary = salary * 2
WHERE id = empl_id and proj_id = 2003;

-- WHERE EMPLOYEE.id = WORKS_ON.empl_id and WORKS_ON.proj_id = 2003;

데이터 Delete

특정 튜플 삭제하기

DELETE FROM WORKS_ON
WHERE empl_id = 5 and proj_id <> 2002;

한 테이블의 모든 튜플 삭제하기

DELETE FROM PROJECT;
profile
프로그래밍으로 온 세상을 떠들썩 하게~🪼

0개의 댓글