> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sakila 샘플 데이터베이스 로드

> Sakila 샘플 데이터베이스를 내려받고, 명령 2개로 스키마와 데이터를 MySQL 서버에 로드한 다음, 모든 테이블이 도착했는지 확인하세요.

> [card] [VillageSQL is a drop-in replacement for MySQL with extensions.](https://villagesql.com/docs/en/8.4/stable/install-server.md)
>
> All examples on this page work on VillageSQL. Install Now →

Sakila는 zip 1개에 든 SQL 파일 2개로 옵니다. 첫 번째가 테이블을 만들고, 두 번째가 테이블을 채웁니다. [서버 설치](https://villagesql.com/docs/ko/tutorial/install-mysql.md)의 서버를 대상으로 그 순서대로 실행합니다.

## 내려받기

원하는 어느 디렉터리에서든 이것을 실행하세요.

```bash theme={null}
curl -O https://downloads.mysql.com/docs/sakila-db.zip
unzip sakila-db.zip
```

그러면 `sakila-db` 디렉터리가 남습니다. 그 안에서 필요한 2개의 파일은 `sakila-schema.sql`과 `sakila-data.sql`입니다.

## 로드하기

스키마 파일을 먼저, 그다음 데이터 파일입니다. `root`에 비밀번호가 없으면 각 비밀번호 프롬프트에서 Return을 누르세요.

```bash theme={null}
mysql -u root -p < sakila-db/sakila-schema.sql
mysql -u root -p < sakila-db/sakila-data.sql
```

두 명령 모두 성공하면 비밀번호 프롬프트 뒤에 아무것도 출력하지 않습니다. 데이터 파일은 데이터베이스의 모든 행을 삽입하므로 더 오래 걸립니다.

> [!NOTE]
>
> 스키마 파일이 가장 먼저 하는 일은 `DROP SCHEMA IF EXISTS sakila`입니다. 이 2개의 명령을 다시 실행하면 데이터베이스를 처음부터 다시 만들므로, 언제든 깨끗한 사본으로 돌아갈 수 있습니다. 바꾼 것은 모두 함께 사라집니다.

## 확인하기

데이터베이스에 지금 무엇이 들어 있는지 서버에 물어보세요.

```bash theme={null}
mysql -u root -p -e "USE sakila; SHOW TABLES;"
```

```text theme={null}
Enter password:
+----------------------------+
| Tables_in_sakila           |
+----------------------------+
| actor                      |
| actor_info                 |
| address                    |
| category                   |
| city                       |
| country                    |
| customer                   |
| customer_list              |
| film                       |
| film_actor                 |
| film_category              |
| film_list                  |
| film_text                  |
| inventory                  |
| language                   |
| nicer_but_slower_film_list |
| payment                    |
| rental                     |
| sales_by_film_category     |
| sales_by_store             |
| staff                      |
| staff_list                 |
| store                      |
+----------------------------+
```

23개의 이름인데, `SHOW TABLES`가 16개의 테이블과 7개의 뷰를 함께 나열하기 때문입니다.

테이블은 데이터 없이 도착할 수도 있으므로, 무언가를 세어 보기도 하세요.

```bash theme={null}
mysql -u root -p -e "SELECT COUNT(*) FROM sakila.film;"
```

```text theme={null}
Enter password:
+----------+
| COUNT(*) |
+----------+
|     1000 |
+----------+
```

영화 1,000개면 첫 수업을 시작할 준비가 된 것입니다.

## 데이터베이스 안에서 작업하기

모든 수업은 `sakila`가 현재 데이터베이스인 것처럼 쿼리를 씁니다. 클라이언트를 열 때 이름을 지정하세요:

```bash theme={null}
mysql -u root -p sakila
```

또는 안에 들어간 뒤에 전환하세요:

```sql theme={null}
USE sakila;
```

둘 중 하나가 없으면 `film`을 지정한 쿼리는 실패합니다.

```bash theme={null}
mysql -u root -p -e "SELECT COUNT(*) FROM film;"
```

```text theme={null}
Enter password:
ERROR 1046 (3D000) at line 1: No database selected
```

## 함께 보기

* [Sakila 샘플 데이터베이스](https://villagesql.com/docs/ko/tutorial/sakila-database.md) — 16개의 테이블이 담고 있는 것
* [SELECT](https://villagesql.com/docs/ko/tutorial/select.md) — 이 페이지의 데이터를 쿼리하는 첫 수업


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.