MySQL 기본 데이터 조작

SQLBeginner
지금 연습하기

소개

이 랩에서는 MySQL 의 기본적인 데이터 조작 연산을 살펴봅니다. MySQL 테이블에서 데이터를 삽입, 선택, 업데이트 및 삭제하는 방법을 배우게 됩니다. 일반적으로 CRUD (Create, Read, Update, Delete) 로 알려진 이러한 연산은 데이터베이스 상호 작용의 핵심을 형성합니다. 실습을 통해 이러한 필수 데이터베이스 연산에 대한 실질적인 경험을 얻고 MySQL 테이블에서 데이터를 효과적으로 관리하는 방법을 이해하게 될 것입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 91%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

기본 데이터 삽입

이 단계에서는 INSERT 문을 사용하여 MySQL 테이블에 데이터를 삽입하는 방법을 배웁니다. 먼저 간단한 단일 행 삽입부터 시작하여 여러 행 삽입으로 넘어갈 것입니다.

먼저, MySQL 에 연결해 보겠습니다.

sudo mysql -u root

연결되면 store 데이터베이스를 선택합니다.

USE store;

단일 행 삽입

제품 테이블에 단일 제품을 삽입하는 것으로 시작해 보겠습니다.

INSERT INTO products (name, price, description)
VALUES ('Coffee Maker', 49.99, 'A 12-cup drip coffee maker with programmable timer');

이 명령을 자세히 살펴보겠습니다.

  • INSERT INTO products: 삽입할 테이블을 지정합니다.
  • (name, price, description): 값을 제공할 열을 나열합니다.
  • VALUES (...): 삽입할 실제 값을 지정합니다.

다음은 포함하지 않았습니다.

  • id: 자동 증가하므로 MySQL 이 자동으로 처리합니다.
  • created_at: 현재 타임스탬프의 기본값을 갖습니다.

삽입을 확인하기 위해 데이터를 선택할 수 있습니다.

SELECT * FROM products;

다음과 같은 출력을 볼 수 있습니다.

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
+----+--------------+--------+----------------------------------------------------+---------------------+

여러 행 삽입

이제 여러 제품을 한 번에 삽입해 보겠습니다. 이는 행을 한 번에 하나씩 삽입하는 것보다 더 효율적입니다.

INSERT INTO products (name, price, description) VALUES
    ('Toaster', 29.99, '2-slice toaster with multiple browning settings'),
    ('Blender', 79.99, 'High-speed blender for smoothies and soups'),
    ('Microwave', 129.99, '1000-watt microwave with digital controls');

이 명령은 단일 행 삽입과 동일한 구조를 따르지만 쉼표로 구분된 여러 값 집합을 포함합니다.

삽입을 확인해 보겠습니다.

SELECT * FROM products;

다음과 같은 출력을 볼 수 있습니다.

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
|  2 | Toaster      |  29.99 | 2-slice toaster with multiple browning settings    | 2024-11-07 09:12:16 |
|  3 | Blender      |  79.99 | High-speed blender for smoothies and soups         | 2024-11-07 09:12:16 |
|  4 | Microwave    | 129.99 | 1000-watt microwave with digital controls          | 2024-11-07 09:12:16 |
+----+--------------+--------+----------------------------------------------------+---------------------+

기본 SELECT 쿼리

이 단계에서는 SELECT 문을 사용하여 테이블에서 데이터를 검색하는 방법을 배웁니다. 출력을 선택하고 형식화하는 다양한 방법을 살펴보겠습니다.

특정 열 선택

*를 사용하여 모든 열을 선택하는 대신, 표시하려는 열을 정확하게 지정할 수 있습니다.

SELECT name, price FROM products;

이렇게 하면 데이터에 대한 보다 집중적인 보기를 얻을 수 있습니다.

+-------------+--------+
| name        | price  |
+-------------+--------+
| Coffee Maker| 49.99  |
| Toaster     | 29.99  |
| Blender     | 79.99  |
| Microwave   | 129.99 |
+-------------+--------+

열 별칭 사용

AS 키워드를 사용하여 열 별칭을 사용하면 출력을 더 읽기 쉽게 만들 수 있습니다.

SELECT
    name AS product_name,
    price AS retail_price,
    price * 0.8 AS sale_price
FROM products;

이 쿼리는 다음을 수행합니다.

  • 'name'을 'product_name'으로 이름 변경
  • 'price'를 'retail_price'로 이름 변경
  • 판매 가격 (20% 할인) 을 계산하고 'sale_price'로 이름을 지정

다음과 같은 출력을 볼 수 있습니다.

+-------------+-------------+------------+
| product_name| retail_price| sale_price |
+-------------+-------------+------------+
| Coffee Maker| 49.99       | 39.99      |
| Toaster     | 29.99       | 23.99      |
| Blender     | 79.99       | 63.99      |
| Microwave   | 129.99      | 103.99     |
+-------------+-------------+------------+

결과 필터링

WHERE 절을 사용하여 결과를 필터링할 수 있습니다.

SELECT name, price
FROM products
WHERE price < 50.00;

이렇게 하면 50 달러 미만의 제품만 표시됩니다.

+-------------+-------+
| name        | price |
+-------------+-------+
| Coffee Maker| 49.99 |
| Toaster     | 29.99 |
+-------------+-------+

데이터 업데이트

이 단계에서는 UPDATE 문을 사용하여 기존 데이터를 수정하는 방법을 배웁니다. UPDATE 문을 사용하면 테이블의 값을 변경할 수 있습니다.

중요: UPDATE 문에는 항상 WHERE 절을 사용하십시오! WHERE 절이 없으면 업데이트가 테이블의 모든 행에 영향을 미칩니다.

예를 들어, Coffee Maker 의 가격을 인상해야 한다고 가정해 보겠습니다.

UPDATE products
SET price = 54.99
WHERE name = 'Coffee Maker';

한 번에 여러 열을 업데이트할 수도 있습니다.

UPDATE products
SET
    price = 89.99,
    description = 'Professional-grade high-speed blender for smoothies and soups'
WHERE name = 'Blender';

업데이트를 확인하려면:

SELECT name, price, description
FROM products
WHERE name IN ('Coffee Maker', 'Blender');

업데이트된 값을 볼 수 있습니다.

+--------------+-------+---------------------------------------------------------------+
| name         | price | description                                                   |
+--------------+-------+---------------------------------------------------------------+
| Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            |
| Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups |
+--------------+-------+---------------------------------------------------------------+

데이터 삭제

이 마지막 단계에서는 DELETE 문을 사용하여 테이블에서 데이터를 제거하는 방법을 배웁니다. UPDATE와 마찬가지로, 모든 데이터를 실수로 제거하는 것을 방지하려면 DELETE와 함께 WHERE 절을 사용하는 것이 중요합니다.

제품 목록에서 토스터를 제거해 보겠습니다.

DELETE FROM products
WHERE name = 'Toaster';

삭제를 확인하려면:

SELECT * FROM products;

토스터를 제외한 모든 제품을 볼 수 있습니다.

+----+-------------+-------+-----------------------------------------------------+---------------------+
| id | name        | price | description                                         | created_at          |
+----+-------------+-------+-----------------------------------------------------+---------------------+
|  1 | Coffee Maker| 54.99 | A 12-cup drip coffee maker with programmable timer | 2024-01-01 12:00:00 |
|  3 | Blender     | 89.99 | Professional-grade high-speed blender for smoothies| 2024-01-01 12:00:00 |
|  4 | Microwave   | 129.99| 1000-watt microwave with digital controls          | 2024-01-01 12:00:00 |
+----+-------------+-------+-----------------------------------------------------+---------------------+

한 번에 여러 행을 삭제할 수도 있습니다. 100 달러가 넘는 모든 제품을 제거해 보겠습니다.

DELETE FROM products
WHERE price > 100;

이렇게 하면 제품 목록에서 전자레인지가 제거됩니다.

MariaDB [store]> SELECT * FROM products;
+----+--------------+-------+---------------------------------------------------------------+---------------------+
| id | name         | price | description                                                   | created_at          |
+----+--------------+-------+---------------------------------------------------------------+---------------------+
|  1 | Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            | 2024-11-07 09:12:06 |
|  3 | Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups | 2024-11-07 09:12:16 |
+----+--------------+-------+---------------------------------------------------------------+---------------------+

요약

이 랩에서는 MySQL 의 기본적인 데이터 조작 연산을 다루었습니다.

  1. 단일 및 여러 행의 데이터를 추가하기 위한 INSERT
  2. 데이터를 검색하고 형식화하기 위한 SELECT 쿼리
  3. 기존 데이터를 수정하기 위한 UPDATE
  4. 테이블에서 데이터를 제거하기 위한 DELETE

이러한 연산은 데이터베이스 조작의 기초를 형성하며 데이터베이스를 사용하는 모든 사람에게 필수적인 기술입니다.