INSERT, DELETE, UPDATE

INSERT

사용법은 아래와 같다.

# 사용법 1

INSERT INTO [테이블명] VALUES (값, ...)

테이블에 존재하는 열과 같은 순서대로 값을 넣어주면 된다.

# 사용법 2

INSERT INTO [테이블명](열, ...) VALUES (값, ...)

테이블명을 적고 소괄호 안에 열이름을 넣어주면 값을 넣어줄때 적어준 열 순서에 맞게 값을 넣어주면 된다. 열 이름을 넣어줄때 순서는 상관없지만, 값을 넣어줄때 그에 맞게 넣어줘야 한다.

위 사용법대로 명령어를 입력해주면 테이블에 잘 추가되는 것을 볼 수 있다.



하지만 저 playerID가 trevelun이 들어가 있는 상태에서 한번더 INSERT를 해주면 에러가 나는 것을 볼 수 있는데, 이는 테이블의 Design에 들어가보면 해당 열들이 PRIMARY KEY로 설정되어 있기 때문에 (yearID, teamID, lgID, playerID) 한 뭉텅이로 볼때 중복된 데이터는 허용하지 않는 것이다.
(각각의 열 별로 중복을 보는게 아님)

DELETE

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

UPDATE

UPDATE [테이블명] SET [열 = 값, ] WHERE [조건]

물리삭제 vs 논리삭제

DELETE vs UPDATE

DELETE를 하면 물리적으로 데이터가 삭제되기 때문에 복구가 불가능하지만
테이블에 delete flag 열을 추가로 두어서 UPDATE를 이용해 논리삭제를 구현할 수 있다.

예를들어 어떤 유저가 계정 삭제 요청을 했을 경우 마치 삭제된 것처럼 해당 계정의 delete flag를 1로 두는 것이다. 이렇게 하면 나중에 유저가 다시 삭제 취소를 요청하였다 하더라도 DELETE로 물리적인 삭제를 아직 하지 않았기 때문에 flag만 0으로 바꾸어서 다시 복구시킬 수 있다.

좋은 웹페이지 즐겨찾기