본문 바로가기
카테고리 없음

MySQL 기본 명령어 정리|정의·문법·예시 한눈에 보기

by proprocess-manager 2026. 9. 16.
반응형

MySQL 문법 연습문제|결과를 보고 SQL을 추리해보기

SQL을 처음 배우면 문법 자체보다 더 어려운 것이 있습니다.

“이 결과를 만들려면 어떤 SQL을 작성해야 하지?” 라는 생각입니다.

이번 연습에서는 강의 자료의 예문을 그대로 따라 하지 않고, 배운 MySQL 문법을 다른 상황에 적용해 보겠습니다.

각 문제는 먼저 최종 결과물을 확인합니다. 그다음 연상하기를 펼쳐 필요한 문법을 떠올리고, 마지막으로 정답 확인하기를 펼쳐 완성된 SQL을 확인합니다.

연습 방법

순서 할 일
① 결과 확인 문제에서 원하는 최종 결과를 먼저 봅니다.
② 연상하기 어떤 SQL 문법이 필요한지 생각합니다.
③ 정답 확인 완성된 SQL과 비교합니다.
④ 직접 실행 MySQL에서 직접 실행해 결과를 확인합니다.

문제 1. 데이터베이스 목록 확인하기

🎯 최종 결과물
```

현재 MySQL 서버에 존재하는 데이터베이스의 목록을 확인하고 싶습니다.

최종적으로 데이터베이스 이름들이 화면에 표시되어야 합니다.

```
연상하기 ```

데이터를 조회하기 전에 먼저 서버에 어떤 데이터베이스가 있는지 확인할 수 있습니다.

  • SHOW
  • DATABASES
```
정답 확인하기 ```
```
SHOW DATABASES;
```
핵심: 데이터베이스 목록을 확인하는 명령입니다.
```

문제 2. 사용할 데이터베이스 선택하기

🎯 최종 결과물
```

cafe_db라는 데이터베이스에서 작업하려고 합니다.

이후 작성하는 SQL이 해당 데이터베이스를 기준으로 실행되도록 설정합니다.

```
연상하기 ```
  • USE
  • 사용할 데이터베이스 이름
```
정답 확인하기 ```
```
USE cafe_db;
```
핵심: 앞으로 사용할 데이터베이스를 선택합니다.
```

문제 3. 테이블 만들기

🎯 최종 결과물
```

카페에서 판매하는 메뉴를 저장할 menu 테이블을 만들려고 합니다.

메뉴 번호, 메뉴 이름, 가격, 등록일을 저장할 수 있어야 합니다.

메뉴 번호는 자동으로 증가하고 기본키로 사용합니다. 메뉴 이름과 가격은 반드시 입력되어야 합니다.

```
연상하기 ```
  • CREATE TABLE
  • INT
  • VARCHAR
  • DECIMAL
  • DATETIME
  • PRIMARY KEY
  • NOT NULL
  • AUTO_INCREMENT
```
정답 확인하기 ```
```
CREATE TABLE menu (
    menu_id INT AUTO_INCREMENT PRIMARY KEY,
    menu_name VARCHAR(100) NOT NULL,
    price DECIMAL(10,2) NOT NULL,
    created_at DATETIME
);
```
핵심: 테이블 구조를 만드는 것은 DDL에 해당합니다.
```

문제 4. 메뉴 데이터 입력하기

🎯 최종 결과물
```

menu 테이블에 다음 메뉴를 입력합니다.

  • 아메리카노 / 4500원
  • 카페라떼 / 5000원
  • 바닐라라떼 / 5500원
```
연상하기 ```
  • INSERT INTO
  • VALUES
  • 문자열은 작은따옴표 사용
```
정답 확인하기 ```
```
INSERT INTO menu (menu_name, price)
VALUES
('아메리카노', 4500),
('카페라떼', 5000),
('바닐라라떼', 5500);
```
핵심: 테이블에 새로운 데이터를 입력합니다.
```

문제 5. 전체 데이터 조회하기

🎯 최종 결과물
```

menu 테이블에 들어 있는 모든 데이터를 확인합니다.

메뉴 번호, 메뉴 이름, 가격 등 모든 컬럼이 화면에 표시되어야 합니다.

```
연상하기 ```
  • SELECT
  • *
  • FROM
```
정답 확인하기 ```
```
SELECT *
FROM menu;
```
핵심: *는 모든 컬럼을 의미합니다.
```

문제 6. 필요한 컬럼만 조회하기

🎯 최종 결과물
```

메뉴 전체 정보가 아니라 메뉴 이름과 가격만 확인하고 싶습니다.

```
연상하기 ```
  • SELECT
  • 조회할 컬럼명
  • FROM
```
정답 확인하기 ```
```
SELECT menu_name, price
FROM menu;
```
핵심: 필요한 컬럼만 선택해서 조회할 수 있습니다.
```

문제 7. 가격이 5000원 이상인 메뉴 찾기

🎯 최종 결과물
```

메뉴 중 가격이 5000원 이상인 메뉴만 조회합니다.

```
연상하기 ```
  • SELECT
  • FROM
  • WHERE
  • >=
```
정답 확인하기 ```
```
SELECT *
FROM menu
WHERE price >= 5000;
```
핵심: 조건에 맞는 데이터만 조회할 때 WHERE를 사용합니다.
```

문제 8. 가격 범위로 조회하기

🎯 최종 결과물
```

가격이 4500원 이상 5500원 이하인 메뉴만 조회합니다.

```
연상하기 ```
  • WHERE
  • BETWEEN
  • 최솟값과 최댓값
```
정답 확인하기 ```
```
SELECT *
FROM menu
WHERE price BETWEEN 4500 AND 5500;
```
핵심: BETWEEN은 지정한 두 값의 범위를 조건으로 사용할 수 있습니다.
```

문제 9. 여러 조건을 동시에 적용하기

🎯 최종 결과물
```

가격이 5000원 이상이면서 메뉴 이름에 “라떼”가 포함된 메뉴를 찾습니다.

```
연상하기 ```
  • WHERE
  • >=
  • AND
  • LIKE
  • %
```
정답 확인하기 ```
```
SELECT *
FROM menu
WHERE price >= 5000
AND menu_name LIKE '%라떼%';
```
핵심: 두 조건을 모두 만족해야 하므로 AND를 사용합니다.
```

문제 10. 여러 메뉴 중 특정 메뉴만 찾기

🎯 최종 결과물
```

메뉴 이름이 아메리카노 또는 카페라떼인 데이터만 조회합니다.

```
연상하기 ```
  • WHERE
  • IN
  • 괄호 안에 여러 값 지정
```
정답 확인하기 ```
```
SELECT *
FROM menu
WHERE menu_name IN ('아메리카노', '카페라떼');
```
핵심: 여러 개의 지정된 값 중 하나에 해당하는 데이터를 찾을 때 IN을 사용할 수 있습니다.
```

문제 11. 가격이 낮은 순서로 정렬하기

🎯 최종 결과물
```

메뉴를 가격이 낮은 순서부터 높은 순서로 표시합니다.

```
연상하기 ```
  • ORDER BY
  • ASC
```
정답 확인하기 ```
```
SELECT *
FROM menu
ORDER BY price ASC;
```
핵심: ASC는 오름차순입니다.
```

문제 12. 가격이 높은 순서로 정렬하기

🎯 최종 결과물
```

메뉴를 가격이 높은 순서부터 낮은 순서로 표시합니다.

```
연상하기 ```
  • ORDER BY
  • DESC
```
정답 확인하기 ```
```
SELECT *
FROM menu
ORDER BY price DESC;
```
핵심: DESC는 내림차순입니다.
```

문제 13. 가장 비싼 메뉴 하나만 찾기

🎯 최종 결과물
```

메뉴를 가격이 높은 순서로 정렬한 뒤 첫 번째 데이터 하나만 확인합니다.

```
연상하기 ```
  • ORDER BY
  • DESC
  • LIMIT
```
정답 확인하기 ```
```
SELECT *
FROM menu
ORDER BY price DESC
LIMIT 1;
```
핵심: 정렬과 LIMIT을 조합하면 특정 순위의 데이터를 제한해서 확인할 수 있습니다.
```

문제 14. 원하는 조건의 데이터를 수정하기

🎯 최종 결과물
```

현재 아메리카노 가격이 4500원입니다.

아메리카노 가격을 4800원으로 변경합니다.

다른 메뉴의 가격은 변경되면 안 됩니다.

```
연상하기 ```
  • UPDATE
  • SET
  • WHERE

특정 데이터만 수정하려면 어떤 조건이 필요한지도 생각해 보세요.

```
정답 확인하기 ```
```
UPDATE menu
SET price = 4800
WHERE menu_name = '아메리카노';
```
핵심: UPDATE에서는 WHERE 조건을 빠뜨리지 않는 것이 중요합니다.
```

이번 연습에서 연결한 MySQL 문법

하고 싶은 일 사용한 문법
데이터베이스 목록 확인 SHOW DATABASES
데이터베이스 선택 USE
테이블 생성 CREATE TABLE
데이터 입력 INSERT INTO
데이터 조회 SELECT
조건 조회 WHERE
여러 조건 AND, OR, NOT
범위 조회 BETWEEN
여러 값 중 선택 IN
문자열 검색 LIKE
오름차순 정렬 ORDER BY ... ASC
내림차순 정렬 ORDER BY ... DESC
조회 개수 제한 LIMIT
데이터 수정 UPDATE ... SET ... WHERE
💡 초보자가 기억하면 좋은 방법

SQL 문제를 보면 바로 코드를 작성하려고 하지 말고, 먼저 “무엇을 하고 싶은가?”를 생각해 보세요.

예를 들어,

  • 새로운 데이터를 넣는다 → INSERT
  • 데이터를 확인한다 → SELECT
  • 조건을 붙인다 → WHERE
  • 순서를 바꾼다 → ORDER BY
  • 몇 개만 가져온다 → LIMIT
  • 기존 데이터를 바꾼다 → UPDATE

이렇게 문제의 의도 → 필요한 문법 → SQL 완성 순서로 생각하면 긴 문제 설명을 봐도 필요한 SQL을 조금씩 추리할 수 있습니다.

마무리

이번 연습의 목적은 SQL을 외우는 것이 아니라 결과를 보고 필요한 문법을 떠올리는 연습입니다.

처음에는 정답을 바로 보고 따라 해도 괜찮습니다. 중요한 것은 같은 유형의 문제를 만났을 때 “아, 이 상황에서는 WHERE를 쓰는구나.” 라고 연결하는 것입니다.

다음에는 직접 조건을 바꿔 보면서 실행 결과가 어떻게 달라지는지 확인해 보세요.

※ 이 글은 MySQL 학습 과정에서 배운 내용을 바탕으로 작성한 개인 학습 기록입니다. 실습 환경이나 MySQL 버전에 따라 일부 동작이나 결과가 달라질 수 있습니다.

📌 함께 보면 좋은 글
MySQL 기본 명령어 정리 → https://proprocess-manager.tistory.com/entry/mysql-basic-commands

반응형