SQLite - UPDATE 쿼리

안녕하세요, 미래의 데이터베이스 마법사 여러분! 오늘 우리는 SQLite의 fascinante 세계로 뛰어들어 그 중에서도 가장 강력한 마법 중 하나인 UPDATE 쿼리를 배울 것입니다. 당신이 도서관 사서라고 가정해 봅시다. 몇몇 책 카드의 정보를 바꿔야 하는 경우, 바로 UPDATE 쿼리가 우리 데이터베이스에서 그 역할을 합니다!

SQLite - UPDATE Query

UPDATE 쿼리는 무엇인가요?

UPDATE 쿼리는 데이터베이스 테이블에 저장된 기존 레코드를 수정할 수 있게 해주는 마법의 지팡이와도 같은东西입니다. 데이터베이스에 저장된 데이터를 바꿔야 할 때 매우 유용합니다.

왜 UPDATE 쿼리가 필요한가요?

예를 들어, 당신이 도서점 데이터베이스를 관리하고 있다고 가정해 봅시다. 어느 날, 책의 가격이 바뀌었음을 깨달았을 때, 기존 레코드를 지우고 새로운 레코드를 생성하는 대신, 기존 레코드를 간단히 업데이트할 수 있습니다. 이것이 UPDATE 쿼리가 유용한 이유입니다!

문법

이제 UPDATE 쿼리의 마법... 즉, 문법을 살펴보겠습니다:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

이를 간단히 설명하자면:

  1. UPDATE table_name: 이는 당신이 업데이트하고 싶은 테이블을 지정하는 곳입니다.
  2. SET column1 = value1, column2 = value2, ...: 여기서는 변경하고 싶은 열과 그 새로운 값을 나열합니다.
  3. WHERE condition: 이는 선택 사항이지만 매우 중요합니다. 어떤 행이 업데이트되어야 하는지 지정합니다. 이를 생략하면 테이블의 모든 행이 업데이트됩니다!

예제

예제 1: 단일 열 업데이트

simple한 예제로 시작해 보겠습니다. books 테이블이 id, title, author, price 열을 가지고 있다고 가정해 봅시다. 책의 가격을 업데이트하고 싶습니다.

UPDATE books
SET price = 19.99
WHERE id = 1;

이 쿼리는 id가 1인 책의 가격을 19.99로 업데이트합니다.

예제 2: 여러 열 업데이트

이제 책의 가격과 저자를 모두 업데이트하고 싶다고 가정해 봅시다:

UPDATE books
SET price = 24.99, author = 'Jane Doe'
WHERE title = 'The Great Adventure';

이 쿼리는 'The Great Adventure'라는 제목의 책의 가격을 24.99로, 저자를 'Jane Doe'로 업데이트합니다.

예제 3: 모든 행 업데이트

occasionally, 모든 행을 업데이트하고 싶을 수도 있습니다. 이 경우 조심해야 합니다. 이건 전체 도서관에 마법을 걸는 것과도 같습니다!

UPDATE books
SET price = price * 1.1;

이 쿼리는 모든 책의 가격을 10% 인상합니다. WHERE 절을 사용하지 않았기 때문에 모든 행에 영향을 미칩니다.

예제 4: 표현식을 사용한 업데이트

UPDATE 쿼리에서 표현식을 사용할 수도 있습니다. 예를 들어, 비싼 책에 할인을 주고 싶다면:

UPDATE books
SET price = price * 0.9
WHERE price > 50;

이 쿼리는 가격이 $50을 초과하는 모든 책의 가격을 10% 감면합니다.

예제 5: 다른 테이블을 기준으로 한 업데이트

다른 테이블의 정보를 기준으로 데이터를 업데이트할 수도 있습니다. 예를 들어, sales 테이블이 있고 books 테이블의 popular 열을 업데이트하고 싶다면:

UPDATE books
SET popular = 1
WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100);

이 복잡한 쿼리는 100번 이상 판매된 책을 인기 책으로 표시합니다.

일반적인 UPDATE 방법

다음은 유용한 일반적인 UPDATE 방법의 표입니다:

방법 설명 예제
단순 업데이트 단일 열 업데이트 UPDATE books SET price = 19.99 WHERE id = 1;
여러 열 업데이트 여러 열 업데이트 UPDATE books SET price = 24.99, author = 'Jane Doe' WHERE id = 1;
모든 행 업데이트 테이블의 모든 행 업데이트 UPDATE books SET price = price * 1.1;
조건부 업데이트 조건을 만족하는 행 업데이트 UPDATE books SET price = price * 0.9 WHERE price > 50;
서브쿼리 업데이트 서브쿼리를 기준으로 한 업데이트 UPDATE books SET popular = 1 WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100);

젊은 마법사 여러분, 강력한 힘에는 큰 책임이 따릅니다. UPDATE 마법을 걸기 전에 WHERE 절을 반드시 확인하세요. 실수로 도서관 전체의 책을 바꿀 수도 있습니다!

이 마법... 즉, 쿼리를 연습하면 곧 데이터베이스 마법의 달인이 될 거예요. 행복하게 코딩하시고, 데이터베이스가 항상 최신 상태로 유지되길 바랍니다!

Credits: Image by storyset