---
title: "자주 묻는 질문: 데이터베이스와 모델"
version: 4.2
locale: ko
source: https://docs.djangoproject.com/ko/4.2/faq/models/
canonical: https://djangodocs.dev/ko/4.2/faq/models/
---
# 자주 묻는 질문: 데이터베이스와 모델

## 어떻게 장고가 작동시키는 순수 SQL 쿼리를 볼 수 있나요?

Make sure your Django [`DEBUG`](/ko/4.2/ref/settings/#std-setting-DEBUG) setting is set to `True`.
Then do this:

```pycon
>>> from django.db import connection
>>> connection.queries
[{'sql': 'SELECT polls_polls.id, polls_polls.question, polls_polls.pub_date FROM polls_polls',
'time': '0.002'}]
```

`connection.queries` is only available if [`DEBUG`](/ko/4.2/ref/settings/#std-setting-DEBUG) is `True`.
It’s a list of dictionaries in order of query execution. Each dictionary has
the following:

- `sql` \- The raw SQL statement
- `time` \- How long the statement took to execute, in seconds.

`connection.queries` 는 모든 SQL 표현문을 포함합니다. INSERT, UPDATES, SELET 등. 당신의 앱이 데이터베이스에 쿼리할 때마다, 쿼리들이 기록됩니다.

If you are using [multiple databases](/ko/4.2/topics/db/multi-db/), you can use the
same interface on each member of the `connections` dictionary:

```pycon
>>> from django.db import connections
>>> connections["my_db_alias"].queries
```

만약 함수의 어느 지점에서 수동으로 쿼리 리스트들을 초기화할 필요가 있다면, 다음과 같이\`\`reset\_queries()\` 를 호출하세요.

```
from django.db import reset_queries

reset_queries()
```

## 장고를 이미 존재하는 데이터베이스와 함께 사용할 수 있나요?

네, :doc:기존 데이터베이스와 통합 \</howto/legacy-databases\>\`를 보세요

## 만약 모델에 변화가 생기면, 어떻게 데이터베이스에 적용하나요?

:mod:schema migrations \<django.db.migrations\>\`라는 장고 지원문서를 참조하세요.

데이터가 지워지는 것을 개의치 않는다면, 프로젝트의 “manage.py” 유틸리티는 [`flush`](/ko/4.2/ref/django-admin/#django-admin-flush) 옵션을 가지고있어서 :djadmin:migrate\`가 실행된 후의 데이터베이스 상태로 되돌려 줍니다.

## 장고 모델들은 다중 열 기본 키를 지원하나요?

아니요. 오직 하나의 기본 키만 지원합니다.

그러나 이것은 실제로 문제가 되지 않습니다. 왜냐하면 다른 제약 조건을 추가하거나(`unique_together` 모델 옵션을 사용하거나 데이터베이스에서 직접 제약 조건을 생성하는 것), 해당 수준에서 유일함을 강제하는 것을 막을 수 없기 때문입니다. 단일 열 기본 키는 관리자 인터페이스와 같은 작업에 필요합니다. 예를 들어 편집하거나 삭제할 개체를 지정하려면 단일 값이 필요합니다.

## 장고는 NoSQL 데이터베이스를 지원하나요?

장고 자체에서는 NoSQL 데이터베이스를 공식적으로 지원하지 않습니다.
그러나, 장고에는 NoSQL 기능을 따르는 많은 사이드 프로젝트가 있습니다.

위키 페이지\`\_에서 여러 프로젝트들에 대해 논의해 볼 수 있습니다.

## 어떻게하면 MyISAM을 테이블 타입에 주는것과 같은 데이터베이스 전용 옵션을 CREATE TABLE 명령에 추가할 수 있을까요?

저희는 데이터베이스 마다 가지고있는 옵션들 예를들면 테이블 타입과 같은 것들을 호환하기 위해 특이 사항들을 추가하는 것을 꺼려합니다. 만약 당신이 이런 옵션들을 쓰고 싶다면, 당신이 하고자 하는 것을 가지고있는 :class:~django.db.migrations.operations.RunSQL\`의  ALTER TABLE\`\`명령어를 활용하여 마이그레이션을 만드세요.

For example, if you’re using MySQL and want your tables to use the MyISAM table
type, use the following SQL:

```sql
ALTER TABLE myapp_mytable ENGINE=MyISAM;
```
