삭제 쿼리 만들기 및 실행

많은 데이터를 빠르게 삭제하거나 Access 데스크톱 데이터베이스에서 정기적으로 데이터 집합을 삭제하려는 경우 쿼리에서 데이터를 빠르게 찾고 삭제하기 위한 조건을 지정할 수 있기 때문에 삭제 또는 업데이트 쿼리가 유용할 수 있습니다. 저장된 쿼리를 다시 사용할 수 있기 때문에 쿼리를 사용하는 것은 시간 절약일 수도 있습니다.

참고: 데이터를 삭제하거나 삭제 쿼리를 실행하기 전에 Access 데스크톱 데이터베이스의 백업이 있는지 확인합니다.

레코드 몇 개만 삭제하려면 쿼리가 필요하지 않습니다. 데이터시트 보기에서 표를 열고 삭제할 필드(열) 또는 레코드(행)를 선택한 다음 DELETE를 누르기만 합니다.

중요: 이 문서의 정보는 데스크톱 데이터베이스에서만 사용하기 위한 것입니다. Access 웹앱에서 삭제 또는 업데이트 쿼리를 사용할 수 없습니다.

이 문서의 내용

쿼리 형식 선택

업데이트 쿼리 또는 삭제 쿼리를 사용하여 데이터베이스에서 데이터를 삭제할 수 있습니다. 다음 표의 세부 정보를 기반으로 쿼리를 선택합니다.

쿼리 유형

사용하는 경우

결과

삭제 쿼리 사용

테이블 또는 두 개의 관련 테이블에서 전체 레코드(행)를 동시에 제거하려면

참고: 레코드가 일대다 관계의 "일" 쪽에 있는 경우 삭제 쿼리를 실행하기 전에 관계를 변경해야 할 수 있습니다. 관련 테이블에서 데이터를 삭제하는 섹션을 참조하세요.

쿼리 삭제는 레코드를 고유하게 만드는 키 값을 포함하여 각 필드의 모든 데이터를 제거합니다.

업데이트 쿼리 사용

테이블에서 개별 필드 값을 삭제하려면

기존 값을 null 값(즉, 데이터 없음) 또는 0 길이 문자열(둘 사이의 공백이 없는 두 배 인용 부호 쌍)으로 업데이트하여 값을 더 쉽게 삭제할 수 있습니다.

맨 위로 이동

쿼리를 사용하여 데이터를 삭제하기 전에 확인해야 하는 정보

  • 파일이 읽기 전용 파일이 아닌지 확인:

    1. 시작을 마우스 오른쪽 단추로 클릭하고Windows 탐색기 열기를 클릭합니다.

    2. 데이터베이스 파일을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

    3. 읽기 전용 특성이 선택되어 있는지 를 참조합니다.

  • 데이터베이스에서 레코드를 삭제하는 데 필요한 권한이 있는지 확인하세요. 확실하지 않은 경우 시스템 관리자 또는 데이터베이스 디자이너에게 문의합니다.

  • 데이터베이스에 콘텐츠를 사용하도록 설정되어 있는지 확인합니다. 기본적으로 Access는 데이터베이스를 처음 신뢰하지 않는 한 모든 작업 쿼리(삭제, 업데이트 및 make-table 쿼리)를 차단합니다. 데이터베이스 신뢰에 대한 자세한 내용은 쿼리를 차단하지 않도록 설정 모드 중지 섹션을 참조하세요.

  • 데이터베이스의 다른 사용자에게 삭제할 데이터를 사용하는 모든 테이블, 폼, 쿼리 및 보고서를 닫아달라고 요청합니다. 이렇게 하면 잠금 위반을 방지할 수 있습니다.

  • 레코드를 편집하거나 삭제하기 전에 변경 내용을 되돌리기 위해 데이터베이스의 백업 복사본을 만드는 것이 좋습니다.

팁: 많은 수의 사용자가 데이터베이스에 연결하는 경우 데이터베이스를 닫은 다음 전용 모드에서 다시 열아야 할 수 있습니다.

독점 모드에서 데이터베이스를 열면

  1. 파일 탭을 > 을 클릭합니다.

  2. 이동하여 데이터베이스를 선택하고 열기 단추 옆에 있는 화살표를 클릭한 다음, 단독 열기 를 클릭합니다.

    단독 모드로 파일 열기

데이터베이스 백업

  1. 파일 탭을 클릭하고 로 저장을 선택합니다.

  2. 데이터베이스로 저장을 클릭하고데이터베이스 백업 을 클릭합니다. 원래 파일이 닫혔다가 백업이 만들어진 후 다시 열립니다.

  3. 다른 이름으로 저장을 클릭하고 백업 복사본의 이름 및 위치를 지정하고 저장을 클릭합니다.

참고: 이전 버전의 Access에서 만든 읽기 전용 또는 데이터베이스를 사용하는 경우 데이터베이스 백업을 만들 수 없다는 메시지가 표시될 수 있습니다.

백업으로 되돌리려면 백업 복사본에 원래 버전의 이름을 사용할 수 있도록 원래 파일을 닫고 이름을 바꿉니다. 그런 다음 백업 복사본에 원래 버전의 이름을 지정하고 이름을 바꾼 백업 복사본을 Access에서 엽니다.

삭제 쿼리 사용

삭제 쿼리를 만들려면 만들기 탭을 클릭하고 쿼리 그룹에서 쿼리 디자인 클릭합니다. 레코드를 삭제하려는 각 표를 두 번 클릭한 다음 닫기 를 클릭합니다.

테이블은 쿼리 디자인 눈금의 위쪽 섹션에 창으로 표시됩니다. 필드 목록에서 표의 모든 필드를 디자인눈금에 추가하려면 에스테리스크(* )를 두 번 클릭합니다.

삭제 쿼리에서 특정 조건 사용

중요: 조건을 사용하여 삭제할 레코드만 반환합니다. 그렇지 않으면 삭제 쿼리는 테이블의 모든 레코드를 제거합니다.

지우기 조건으로 지정할 필드를 두 번 클릭하고 쿼리 디자이너의 조건 행에 조건을 입력한 다음 각 조건 필드에 대한 표시 확인란을 선택 취소합니다.

이 옵션을 사용하려는 경우의 예: 고객에 대한 보류 중인 모든 주문을 제거하려는 경우를 가정합니다. 이러한 레코드만 찾으면 고객 ID 및 주문 날짜 필드를 쿼리 디자인 눈금에 추가한 다음 고객의 ID 번호와 해당 고객의 주문이 무효화된 날짜를 입력합니다.

  1. 디자인 탭에서데이터시트 보기 > 클릭합니다.

  2. 쿼리가 삭제하려는 레코드를 반환하는지 확인한 다음 CTRL+S를 눌러 쿼리를 저장합니다.

  3. 쿼리를 실행하려면 탐색 창에서 쿼리를 두 번 클릭합니다.

맨 위로 이동

업데이트 쿼리 사용

참고: Access 웹 앱에서 업데이트 쿼리 옵션을 사용할 수 없습니다.

이 섹션에서는 업데이트 쿼리를 사용하여 테이블에서 개별 필드를 삭제하는 방법을 설명합니다. 데이터를 삭제하기 위해 업데이트 쿼리를 실행하면 지정한 조건에 따라 기존 값이 NULL 또는 0 길이 문자열(둘 사이에 공백이 없는 두 배 인용 부호 쌍)로 변경됩니다.

  1. 만들기 탭을 클릭하고 쿼리 그룹에서 쿼리 디자인 을 클릭합니다.

  2. 삭제할 데이터가 있는 테이블을 선택합니다(테이블이 관련이 있는 경우 관계의 "하나" 쪽에서 표를 선택하고 추가를클릭한 다음 닫기 를 클릭합니다.

    테이블은 쿼리 디자인 눈금의 위쪽 섹션에 창으로 표시됩니다. 창에는 선택한 테이블의 모든 필드가 나열됩니다.

  3. 표의 모든 필드를 디자인눈금에 추가하려면 을 두 번 클릭합니다. 모든 테이블 필드를 추가하면 삭제 쿼리가 테이블에서 전체 레코드(행)를 제거할 수 있습니다.

    선택적으로 디자이너의 조건 행에 하나 이상의 필드에 대한 조건을 입력한 다음 각 조건 필드에 대한 표시 확인란을 지우면 됩니다. 조건 사용에 대한 자세한 내용은 쿼리 테이블 선택에 대한 샘플 조건을 참조하세요.

    참고: 조건을 사용하여 변경하려는 레코드만 반환합니다. 그렇지 않으면 업데이트 쿼리는 쿼리의 각 필드에 있는 모든 레코드를 NULL로 설정합니다.

  4. 디자인 탭의 결과 그룹에서 보기를 클릭한 다음 데이터시트 보기를 클릭합니다.

  5. 쿼리가 NULL 또는 0길이 문자열로 설정할 레코드를 반환하는지 확인("" 사이에 공백이 없는 두배 인용 부호 쌍).

  6. 필요에 따라 3~5단계를 반복하고 쿼리에서 삭제할 데이터만 반환할 때까지 필드 또는 조건을 변경한 다음 CTRL+S를 눌러 쿼리를 저장합니다.

  7. 쿼리를 실행하려면 탐색 창에서 쿼리를 두 번 클릭합니다.

맨 위로 이동

추가 정보

관련 테이블에서 데이터 삭제

여러 관련 테이블에서 데이터를 삭제하려면 각 관계에 대해 참조 무결성 및 캐스케이드 관련 레코드 삭제 옵션을 사용하도록 설정해야 합니다. 이렇게 하면 쿼리가 관계의 "하나" 및 "많은" 쪽의 테이블에서 데이터를 삭제할 수 있습니다. 삭제된 관련 데이터를 준비하려면 다음을 확인해야 합니다.

  • 관계의 "하나" 쪽에 있는 레코드와 "많은" 쪽에 있는 레코드를 결정합니다.

  • 관계의 "하나" 쪽과 "많은" 쪽의 관련 레코드에서 레코드를 삭제해야 하는 경우 참조 무결성이라는 규칙 집합을 사용하도록 설정하고 계단식 삭제를 사용하도록 설정합니다. 이 섹션의 단계는 참조 무결성 및 두 작업을 수행하는 방법을 설명합니다.

  • 관계의 "하나" 쪽에서만 레코드를 삭제해야 하는 경우 먼저 해당 관계를 삭제한 다음 데이터를 삭제합니다.

관계의 "많은" 쪽에서만 데이터를 제거해야 하는 경우 관계를 변경하지 않고 삭제 쿼리를 만들고 실행할 수 있습니다.

관계의 "하나" 및 "많은" 쪽에 있는 레코드를 확인하려면 데이터베이스 도구 탭의 관계 그룹에서 관계를 클릭합니다. 관계 탭에는 데이터베이스의 테이블과 관계가 표시됩니다. 각 관계는 필드 간에 테이블을 연결하는 선으로 표시됩니다.

다음 그림은 일반적인 관계를 보여줍니다. 대부분의 경우 데이터베이스의 관계에는 "one" 쪽과 "많은" 쪽이 있습니다. 관계 다이어그램은 숫자1(1)과무한대(∞) 기호가 있는"∞" 쪽을나타 내는 것입니다.

두 테이블 간의 관계

관계의 "하나" 쪽에서 레코드를 삭제하면 관계의 "많은" 쪽에서도 관련 레코드를 모두 삭제합니다. 그러나 관계의 "많은" 쪽에서 레코드를 삭제하는 경우 일반적으로 "하나" 쪽에서 레코드를 삭제하지 않습니다.

또한 Access는 참조 무결성이라는 규칙 집합을 자동으로 적용합니다. 이러한 규칙은 데이터베이스의 외계 키에 올바른 값을 포함하도록 합니다. 외계 키는 값이 다른 테이블의 주 키 열의 값과 일치하는 열입니다.

관계 편집

관계의 "one" 및 "many" 쪽에서 데이터를 삭제해야 하는 경우만 다음 단계를 따릅니다.

  1. 데이터베이스 도구 탭의 관계 그룹에서 관계를 클릭합니다.

  2. 지우기 작업에 관련된 테이블을 연결하는 관계(줄)를 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 관계 편집을 클릭합니다.

  3. 관계 편집 대화 상자에서 참조 무결성 적용 확인란을 선택해야 합니다.

  4. 관련 레코드 삭제 확인란을 선택합니다.

    참고: 이 속성을 다시 사용하지 않도록 설정할 때까지 관계의 "하나" 쪽에서 레코드를 삭제하면 관계의 "많은" 쪽에 있는 모든 관련 레코드가 삭제됩니다.

  5. 확인을클릭하고 관계 창을 닫은 다음 다음 단계 집합으로 진행합니다.

관계 삭제

  1. 아직 완료하지 않은 경우 관계 창을 니다.

  2. 데이터베이스 도구 탭의 관계 그룹에서 관계를 클릭합니다.

    데이터를 삭제한 후 관계를 복원할 수 있도록 관계에 관련된 필드를 메모합니다.

  3. 삭제 작업에 관련된 테이블을 연결하는 관계(줄)를 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 삭제를 클릭합니다.

참고: 관계를 복원하기 위해 이전 단계를 수행하여 관계 창을 열고 "one" 테이블에서 기본 키 필드를 끌어 "many" 테이블의 외계 키 필드에 놓습니다. 관계 편집 대화 상자가 나타납니다. 이전 관계가 참조 무결성을 적용하는 경우 참조 무결성 적용을 선택한 다음만들기를 클릭합니다. 그렇지 않으면 만들기를 클릭합니다.

맨 위로 이동

쿼리 선택에 대한 샘플 조건

다음 표에는 삭제하려는 데이터만 삭제하려는 경우 선택 쿼리에 사용할 수 있는 몇 가지 샘플 조건이 나열됩니다. 이러한 예제 중 일부는 와일드카드 문자를 사용 합니다.

조건

효과

> 234

234보다 큰 숫자를 모두 반환합니다. 234보다 작은 숫자를 모두 찾으려면 < 234를 사용합니다.

>= "Cajhen"

사전순으로 김재경부터 맨 끝까지의 모든 레코드를 반환합니다.

#2/2/2010# 및 #12/1/2010 사이 #

2010년 2월~2010년 12월 1일(ANSI-89)을 반환합니다. 데이터베이스에서 ANSI-92 와일드카드 문자를 사용하는 경우 우물정자(#) 대신 작은따옴표()를 사용합니다. 예: '2/2/2/2010' 및 '12/1/2010' 사이.

Not "독일"

필드 내용이 "독일"과 정확하게 일치하지 않는 모든 레코드를 찾습니다. "독일(유로)" 또는 "유럽(독일)"과 같이 "독일"에 다른 문자가 덧붙여진 레코드를 반환합니다.

Not "대*"

'대'로 시작하는 레코드를 제외한 모든 레코드를 찾습니다. 데이터베이스에서 ANSI-92 와일드카드 문자 집합을 사용하는 경우 별표(*) 대신 백분율 기호(%)를 사용합니다.

Not "*다"

'다'로 끝나지 않는 모든 레코드를 찾습니다. 데이터베이스에서 ANSI-92 와일드카드 문자 집합을 사용하는 경우 별표(*) 대신 백분율 기호(%)를 사용합니다.

In("캐나다","영국")

목록에서 캐나다 또는 영국이 포함된 모든 레코드를 찾습니다.

Like "[ㄱ-ㄹ]*"

텍스트 필드에서 A부터 D까지 문자로 시작하는 모든 레코드를 찾습니다. 데이터베이스에서 ANSI-92 와일드카드 문자 집합을 사용하는 경우 백분율 기호(%)를 사용합니다. 는 (*) 대신에 있습니다.

Like "*포장*"

'포장'이 포함된 모든 레코드를 찾습니다. 데이터베이스에서 ANSI-92 와일드카드 문자 집합을 사용하는 경우 별표(*) 대신 백분율 기호(%)를 사용합니다.

Like "대양 마말레이?"

"대양"으로 시작하며 그 다음 네 자가 "마말레이"이고 마지막 자는 알 수 없는 모든 레코드를 찾습니다. 데이터베이스에서 ANSI-92 와일드카드 문자 집합을 사용하는 경우 물음표(?) 대신 밑줄(_)을 사용합니다.

#2/2/2010 #

2010년 2월 2일의 모든 레코드를 찾습니다. 데이터베이스에서 ANSI-92 와일드카드 문자 집합을 사용하는 경우 날짜를 파운드 기호('2/2/2/2')가 아닌 단일 인용 기호로 둘러싸습니다.

< Date() - 30

Date 함수를 사용하여 30일을 초과한 모든 날짜를 반환합니다.

Date()

Date 함수를 사용하여 오늘 날짜가 들어 있는 모든 레코드를 반환합니다.

Between Date() And DateAdd("M", 3, Date())

Date DateAdd 함수를 사용하여 오늘 날짜와 오늘 날짜로부터 3개월 사이의 모든 레코드를 반환합니다.

Is Null

비어 있거나 정의되지 않은, 즉 null 값이 포함된 모든 레코드를 반환합니다.

Is Not Null

값을 포함하는 모든 레코드(null이 아닌)를 반환합니다.

""

빈 문자열이 포함된 모든 레코드를 반환합니다. 필요한 필드에 값을 추가해야 하는 경우 길이가 0인 문자열을 사용하지만 실제 값이 어떤지 아직 알 수 없습니다. 예를 들어 필드에 팩스 번호를 입력해야 하지만 팩스가 없는 고객이 있을 수 있습니다. 이 경우 숫자를 입력하는 대신 두 쌍의 인용 부호를 입력합니다(""사이에 공백이 없습니다.

맨 위로 이동

문제 해결 팁

오류 메시지가 표시되는 이유와 오류를 수정하는 방법

여러 테이블을 사용하여 삭제 쿼리를 빌드하고 쿼리의 고유 레코드 속성이 아니요로설정되어 있는 경우 액세스에 오류 메시지가 표시됩니다. 쿼리를 실행할 때 지정된 테이블에서 삭제할 수 없습니다.

이 문제를 해결하려면 쿼리의 고유 레코드 속성을 로 설정합니다.

  1. 삭제 쿼리를 디자인 보기에서 엽니다.

  2. 쿼리 속성 시트가 열려 있지 않으면 F4 키를 눌러 엽니다.

  3. 쿼리 디자이너를 클릭하여 필드 속성이 아닌 쿼리 속성이 표시되도록 합니다.

  4. 쿼리 속성 시트에서 고유 레코드 속성을 찾아 해당 값을 로 설정합니다.

사용 안 함 모드에서의 쿼리 차단 해제

기본적으로 신뢰할 수 있는 위치에 있지 않은 데스크톱 데이터베이스를 열거나 신뢰할 수 있는 위치에 있지 않은 경우 Access는 모든 작업 쿼리를 실행하지 못하게 차단합니다.

실행 쿼리를 실행했는데 아무런 작업도 수행되지 않은 것처럼 보이면 Access 상태 표시줄에 다음 메시지가 표시되어 있는지 확인하세요.

사용 안 함 모드에서 매크로 함수나 이벤트를 차단했습니다.

해당 메시지가 표시되어 있는 경우 차단된 콘텐츠를 사용하도록 설정하려면 다음 단계를 밟아야 합니다.

  • 보안 경고 메시지 표시줄에서 콘텐츠 사용 클릭하고 쿼리를 다시 실행합니다.

맨 위로 이동

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Office 참가자 참가

이 정보가 유용한가요?

번역 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

소중한 의견에 감사드립니다.

×