SQL 추가, 수정, 삭제

박한솔·2021년 1월 18일
0

1) 삭제 명령DELETE/ DROP / TRUNCATE

Delete와 Drop, Trucate는 모두 삭제 명령이지만 많은 차이를 가지고 있다.

DELETE

Delete는 데이터의 내용을 삭제한다. 하지만 테이블의 용량은 줄어들지 않는다. 또한 Delete 이전의 상태로 되돌릴 수도 있다.

행이 많으면 삭제하는 데에 많은 자원이 소모된다. 그리고 삭제할 때 롤백 정보를 기록하므로 삭제가 느리다. 조건을 줘서 일부만 삭제할 수도 있다.

DELETE 제한 조건 FROM table name WHERE 조건

특정 조건으로 상위 행이 없다면 행 자체를 삭제하거나
상위 행을 먼저 삭제하게 설정할 수도 있다.

TRUNCATE

Delete가 조건을 주며 삭제하게끔 명령을 내린다면 Truncate는 깔끔하게 테이블을 초기상태로 되돌린다. 따라서 테이블 구조 자체는 남아있다.

처음으로 돌아가므로 모든 행을 삭제하게 되며 롤백데이터를 기록하지 않으므로 명령 이후 되돌릴 수 없다. 대신에 처리 속도가 빠르므로 빠르게 데이터를 삭제해야 할 경우에는 유용한 명령이다.

TRUNCATE TABLE 테이블 이름

DROP

더이상 테이블이 필요하지 않을 경우에는 테이블 자체를 없애는 Drop이 더욱 효율적일 것이다. 모든 테이블 데이터(구조도 포함)를 삭제하며 롤백이 불가능하다.

DROP TABLE 테이블 이름

2) 추가 명령 INSERT INTO

테이블에 새로운 내용을 추가하고 싶을 때 사용한다.

INSERT INTO 테이블 이름(넣고 싶은 열 리스트)
VALUES (넣고 싶은 내용)


INSERT INTO Customers (name, age, email)
VALUES ('김민수', 25, 'minsukim@gmail.com')

추가하고 싶은 내용은 열 이름과 1:1로 매치가 되도록 작성하면 된다.

3) 수정 명령 UPDATE

테이블의 데이터를 수정해야 할 필요가 있다면 Update를 통해 데이터를 변경할 수 있다.

UPDATE 테이블 이름
SET 수정할 열 이름 = 새로운 값
WHERE 조건

UPDATE Customers
SET age = '26'
WHERE name = '김민수'
profile
치열하게, 하지만 즐겁게

0개의 댓글