SQL 공부정리 - INSERT, UPDATE, DELETE
지금까지 살펴본 SELECT는 데이터를 조회하는데 사용했다.
이번엔 데이터를 만들고 수정하고 지우는 것에 대해서 알아보자
INSERT
테이블에 데이터를 입력하는 기본적인 SQL 문이다.
형태는 다음과 같다.
INSERT INTO 테이블 [(열1, 열2......)] VALUES (값1, 값2......)
이걸 이용해서 새로운 데이터를 넣어보자
여기에 id는 6, 이름은 제로환타, 가격은 2500인 데이터를 넣어보자
2번 줄에 SELECT문이 보이는데, 이건 조회를 위해서 넣은 것이다.
즉, 새로운 데이터를 추가하고, 그 결과를 조회하는 것이므로 무시해도 된다.
아무튼 제로환타가 추가된 것을 볼 수 있다.
그런데, product_id와 같은 id 값에는 AUTO_INCREMENT를 적용한다.
이건 자동으로 숫자가 1 증가한 값이 들어가는 옵션이다.
아이디 값은 아무것도 입력받지 않아도 알아서 숫자가 1 증가한 값이 적용되는 것을 알 수 있다.
이번엔 코코아를 추가해보자
자, 그런데 증가가 시작되는 값을 인위적으로 조정해 줄 수 있다.
예를 들어서, 다시 위 테이블에 새로운 데이터를 넣으면 id는 8이 될것이다.
그러나 100부터 시작할 수도 있다.
100부터 시작하는 카푸치노 데이터를 넣어보자
위 사진을 보면 ALTER라는 키워드가 보이는데, 이는 테이블의 속성을 바꿀 때 사용한다.
이 키워드는 나중에 더 자세히 알아보자
결과값을 보면 알겠지만 새로들어간 데이터인 카푸치노는 100부터 시작하는 것을 볼 수 있다.
UPDATE
자, 이번엔 데이터를 수정해보자
카푸치노를 럼주로, 가격은 45000으로 바꿔보자
는 세이프 모드를 쓰고 있어서 안 된단다.
이걸 풀어주자
저걸 체크 해제해주어야 한다.
그런 다음 워크벤치를 재시작 해주어야 한다.
그리고 실행한 모습
으악! 파일이 전부 덮어 쓰워졌다!
...생각해보니 where이 빠졌다.
조건을 빼먹어서 발생한 불상사를 빨리 수습하고 이번엔 where을 넣어서 제대로 실행했다.
보시다시피 카푸치노가 정상적으로 럼주로 바뀐 것을 볼 수 있다.
앞으로 주의하자, update를 할 때 where을 빼먹으면 모든 데이터가 덮어씌워지니 조심하도록 하자
다만 한 번에 전체를 바꿔야할 때가 있지 않을까?
모든 데이터에서, 가격을 100으로 나누어 보자
가격이 1/100로 줄어든 모습이다.
다시 원상복구를 해준 모습
DELETE
데이터를 삭제하는 DELETE는 다음과 같이 사용한다.
DELETE FROM 테이블 WHERE 조건;
만원보다 가격이 높은 데이터를 삭제했다.