SQL-INSERT, UPDATE, DELETE
INSERT
- INSERT는 테이블에 튜플을 추가하기 위한 명령어이다.
- 전체 컬럼의 값을 지정하여 튜플 추가
- INSERT INTO 테이블명 VALUES (값1, 값2, ... , 값n);
- 특정 컬럼의 값을 지정하여 튜플 추가
- INSERT INTO 테이블 (컬럼1, 컬럼2) VALUES (값1, 값2);
UPDATE
- UPDATE는 기존 튜플의 값을 갱신하기 위한 명령어이다.
- 모든 튜플의 타겟컬럼들 값을 갱신
- UPDATE 테이블명 SET 타켓컬럼1 = 값1, 타겟컬럼2 = 값2, ... , 타켓컬럼n = 값n;
- 특정 튜플의 타겟컬럼들 값을 갱신
- UPDATE 테이블명 SET 타켓컬럼1 = 값1, 타겟컬럼2 = 값2, ... , 타켓컬럼n = 값n WHERE 조건;
- UPDATE 테이블명 SET 타겟컬럼1 = CASE WHEN1 ... TEHN1 ... WHENn ... THENn END [WHERE 조건];
UPDATE 쿼리 예시
-- menus 테이블의 menu_name 컬럼의 값들을 삼선짜장으로 변경해준다.
-- menu_name 컬럼의 값이 변경될 튜플은 menu_id 컬럼의 값이 12인 행이다.
UPDATE menus
SET menu_name = '삼선짜장'
WHERE menu_id = 12;
-- menus 테이블의 menu_name 컬럼의 값들을 열정떡볶이으로 변경해준다.
-- menus 테이블의 kilocalories 컬럼의 값들을 492.78으로 변경해준다.
-- menus 테이블의 price 컬럼의 값들을 5000으로 변경해준다.
-- 세 컬럼의 값이 변경될 튜플은 fk_business_id 컬럼의 값이 4, menu_name 컬럼의 값이 국물떡볶이인 행이다.
UPDATE menus
SET
menu_name = '열정떡볶이',
kilocalories = 492.78,
price = 5000
WHERE
fk_business_id = 4
AND menu_name = '국물떡볶이';
-- 컬럼 값을 활용하여 수정할 수 있다.
UPDATE menus
SET price = price + 1000
WHERE fk_business_id = 8;
DELETE
- DELETE는 튜플을 삭제하기 위한 명령어이다.
- 모든 튜플 삭제
- DELETE FROM 테이블명;
- 특정 튜플 삭제
- DELETE FROM 테이블명 WHERE 조건;
DELETE 예시 쿼리
-- businesses 테이블의 행을 삭제한다.
-- 삭제될 행은 status 컬럼의 값이 CLS인 행이다.
DELETE FROM businesses
WHERE status = 'CLS';