INSERT INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, ...)
VALUES (VALUE1, VALUE2, VALUE3, ...);
VALUES의 값을 COMMA로 구분하여 여러 줄을 입력
INSERT INTO TABLE_NAME (COLUMN1, COLUMN2, COLUMN3, ...)
VALUES (VALUE1, VALUE2, VALUE3, ...),
VALUES (VALUE1, VALUE2, VALUE3, ...),
VALUES (VALUE1, VALUE2, VALUE3, ...);
INSERT INTO PRODUCT (상품 번호, 카테고리, 색상, 성별, 사이즈, 원가)
VALUES ('A003', '트레이닝', 'PURPLE', 'F', 'XS', '80,000);
DELETE FROM TABLE_NAME
WHERE SOME_COLUMN = SOME_VALUE
DELETE FROM PRODUCT
WHERE 상품 번호 = 'A003';
UPDATE TABLE_NAME
SET COLUMN_NAME = 'NEW VALUE'
WHERE CONDITION;
상품 번호 A002의 원가를 70,000으로 변경
UPDATE PRODUCT
SET 원가 = 70,000
WHERE 상품 번호 = 'A002';
& 카테고리를 '피트니스'로 변경
UPDATE PRODUCT
SET 원가 = 70,000
카테고리 = '피트니스'
WHERE 상품 번호 = 'A002';
매크로처럼 반복되는 내용을 하나의 단위(=
PROCEDURE
) 로 생성
UPDATE PRODUCT
SET 원가 = (-1)*원가
WHERE 취소 여부 = 'Y';
위 쿼리를 실행 시 취소 여부가 'Y'인 데이터의 원가에 -1을 곱한 값을 원가로 대체하게 된다.
해당 쿼리는 22.08.22 에 실행했을 경우 22.08.22 까지의 매출 건 중 취소 여부가 'Y'인 데이터의 원가가 음수(-)처리 되며
다음날인 23일 매출 건에도 실행되어야 한다.
23일에 해당 쿼리가 실행되면 22일의 취소 건의 원가에 다시 -1이 곱해지므로 취소 건의 원가가 +가 된다.
쿼리 실행 시점 이전과 이후의 시점까지 적용될 수 있도록 한다면
UPDATE PRODUCT
SET 원가 = (-1)*DNJSRK
WHERE 취소 여부 = 'Y'
AND 판매 일자 = CURDATE()-1;
CURDATE
: 현재의 일자를 알려주는 MYSQL 함수
위 쿼리가 매일 같은 시간에 실행된다면, 판매일이 전일인 데이터만 취소 건의 원가가 변경
생성된 프로시저는 call 프로시저 명으로 실행 가능,
스케줄을 통해 특정 상황에서 실행할 수도 있다.
DELIMITER //
CREATE PROCEDURE 프로시저 명()
BEGIN
쿼리 ;
END //
DELIMITER;
DELIMITER //
CREATE PROCEDURE SALE_MINUS()
BEGIN
UPDATE PRODUCT
SET 원가 = (-1)*원가
WHERE 취소 여부 = 'Y'
AND 판매 일자 = CURDATE() -1
END //
DELIMITER ;