UPDATE 구문과 조건절 - 10

UPDATE 구문과 조건절

1. UPDATE 구문과 조건절의 이해

  • UPDATE 구문은 이미 존재하는 테이블의 레코드를 수정하는 명령문.
  • 이 구문은 WHERE 절을 포함하여 사용된다.
  • WHERE 절을 사용하여 특정 조건에 해당하는 레코드만 수정할 수 있다.
  • UPDATE 구문은 다음과 같은 형식으로 작성.
UPDATE [테이블 이름]
SET [칼럼 이름1] = [새로운 값1], [칼럼 이름2] = [새로운 값2], ...
WHERE [조건];
  • 위의 구문에서 SET 절은 테이블의 특정 칼럼 값을 변경하는 부분이다.
    WHERE 절은 조건에 해당하는 레코드만 변경할 수 있도록 필터링 한다.
  • 예를 들어,
    student 테이블에서 grade 가 2 인 학생들의 major 값을 '전자공학과' 로 변경하려면 다음과 같이 작성할 수 있다.
UPDATE student
SET major = '전자공학과'
WHERE grade = 2;
주의
UPDATE 구문은 매우 강력하므로 사용할 때는 주의가 필요합니다.
특히 WHERE 절을 사용할 때는 조건을 신중하게 선택하여야 합니다.

 

샘플 데이터

CREATE TABLE `order` (
  id INT PRIMARY KEY,
  order_name VARCHAR(20) NOT NULL,
  product_name VARCHAR(20) NOT NULL,
  quantity INT NOT NULL,
  order_date DATE NOT NULL
);


INSERT INTO `order` (id, order_name, product_name, quantity, order_date) 
VALUES
(1, '홍길동', '피자', 2, '2022-02-26'),
(2, '김영희', '치킨', 3, '2022-02-26'),
(3, '이철수', '햄버거', 1, '2022-02-27'),
(4, '박지민', '스테이크', 2, '2022-02-27'),
(5, '최영희', '짬뽕', 1, '2022-02-27'),
(6, '박서준', '초밥', 3, '2022-02-28'),
(7, '김민지', '파스타', 2, '2022-02-28'),
(8, '정재은', '토스트', 1, '2022-02-28'),
(9, '신은주', '감바스', 2, '2022-03-01'),
(10, '유지훈', '돈까스', 1, '2022-03-01');
-- UPDATE 구문을 사용할 때는 천천히 WHERE 확인하기
-- 1. id가 1인 주문의 상품 수량을 5개로 수정

UPDATE `order`
SET quantity = 5
WHERE id = 1;

-- 2. id가 3인 사람의 메뉴를 감바스로 수정
UPDATE `order`
SET product_name = '감바스'
WHERE id = 3;

-- 3. id가 5인 주문의 주문 일자를 '2024-05-31'로 수정
UPDATE `order`
SET order_date = '2024-05-31'
WHERE id = 5;

-- 4. 주문 수량이 2개 이상이고, 상품명이 '피자'인 주문의 수령인 이름을 '김철수'로 수정
UPDATE `order`
SET order_name = '김철수'
WHERE quantity >= 2
	and product_name = '피자';

-- 5. 주문 날짜가 '2022-02-28'이고, 상품명이 '초밥'인 주문의 주문 수량을 5개로 수정
UPDATE `order`
SET quantity = 5
WHERE order_date = '2022-02-28'
	and product_name = '초밥';
    
-- SQL
	-- DDL (Data Definition Language) : 테이블의 구조를 변경할 때 사용된다.
    -- DML (정의)
    -- DCL (정의)
    
alter table `order` add column address varchar(100);

-- '경기도 성남시'로 수정 ?? <-- 컬럼이 존재 하지 않음 !!
-- 6. 주문 수량이 1개 이하이고, 상품명이'감바스'인 주문의 수령인 주소를 '부산시 진구'로 수정
update `order`
set address = '부산시 진구'
where quantity = 1 and product_name = '감바스';

 

 

MySQL 기본 목차로 돌아가기

 

'MySQL > 정리' 카테고리의 다른 글

UNIQUE 제약의 이해 - 12  (0) 2024.06.04
DELETE 구문과 조건절 - 11  (0) 2024.05.31
SELECT 구문과 조건절 - 9  (0) 2024.05.31
INSERT 구문과 제약 사항 - 8  (0) 2024.05.30
테이블 생성과 제약 사항 연습 - 7  (0) 2024.05.30