[SQL] 테이블 구조만 복제하기 (WHERE 1=0)

아리엘 (Ariel)·2024년 5월 14일
1

SQL

목록 보기
7/9
post-thumbnail

📌 문제 상황

동일한 데이터 형태를 갖는 여러 개의 csv를 각 테이블로 생성해야 했습니다.
이때, 컬럼은 70여개에 달하기 때문에 CREATE TABLE new_table (column1 datatype1) 형태의 명령문을 사용하는 것은 비효율적입니다.


✅ 해결 방법

따라서, 이미 생성되어 있는 테이블의 모든 열, 데이터 유형, 기타 스키마 정보만 복제해서 새로운 테이블을 생성하는 방법을 활용했습니다.

CREATE TABLE kopis_2021_12_last AS 
SELECT * 
FROM > kopis_2021_12_first 
WHERE 1=0; -- 해당 구문에 대한 상세 설명은 하단 참고


쿼리 실행 결과 데이터 없이 테이블 구조만 적절히 복제된 것을 확인할 수 있습니다.

WHERE 1=0 문의 역할

WHERE 1=0 구문은 SQL에서 자주 사용되는 트릭입니다.
이 조건은 항상 거짓이 되기 때문에, SQL 쿼리의 결과로 어떤 행도 반환되지 않습니다.

테이블 구조 복사

  • 기존 테이블의 구조를 새 테이블로 복사하고 싶지만, 데이터는 복사하고 싶지 않을 때 사용됩니다.
  • 테이블의 스키마만 새 테이블로 전달되며, 데이터는 전혀 포함되지 않습니다.

테스트 쿼리 실행

  • 개발 중 특정 쿼리가 데이터베이스에서 어떻게 실행되는지, 또는 오류 없이 실행되는지를 확인할 필요가 있습니다.
  • WHERE 1=0을 사용하면 실제 데이터에 영향을 주지 않고 쿼리를 안전하게 테스트할 수 있습니다.



💡 질문과 피드백은 댓글에 남겨주시기 바랍니다.
❤️ 도움이 되셨다면 공감 부탁드립니다.


profile
Data Analyst / Engineer

0개의 댓글

관련 채용 정보