https://2stndard.tistory.com/notice/203
[발간예정][EPL과 유튜브로 배우는 DuckDB] 실습 코드와 데이터
EPL과 유튜브 데이터로 배우는 DuckDB에서 사용되는 실습 데이터와 코드를 제공합니다. EPL_DATA&samplefile.zip : 책에서 사용하는 영국 프리미어리그 데이터 셋과 샘플로 사용하는 파일espn.duckdb.zip : 책
2stndard.tistory.com
[DuckDB] 데이터 분석 생산성을 높여주는 SQL 핵심 문법 정리
최근 데이터 분석 및 OLAP 엔진으로 각광받고 있는 DuckDB는 기존 표준 SQL의 번거로움을 해결해주는 강력한 'Syntactic Sugar(편의 문법)'를 제공합니다.
1. CREATE OR REPLACE TABLE (기존 테이블 삭제하고 생성하기)
- DuckDB:
CREATE OR REPLACE TABLE 테이블이름 ... - 용도: 테이블 생성시 테이블 명이 동일한 테이블이 있으면 삭제 후 테이블 생성.
CREATE TABLE tbl (a char(1) PRIMARY KEY, b char(1));
CREATE OR REPLACE TABLE tbl (a INTEGER PRIMARY KEY, b INTEGER);
2. INSERT OR REPLACE INTO (기존 데이터 삭제하고 데이터 삽입)
- DuckDB:
INSERT OR REPLACE INTO 테이블명 ... - 용도: 기존 테이블에 데이터 삽입시 기본키가 중복되는 데이터가 있을 경우 기존 데이터를 삭제하고 삽입.
INSERT INTO tbl VALUES (1, 300);
INSERT OR REPLACE INTO tbl VALUES (1, 500);
3. INSERT INTO … BY NAME (열 이름 기반 데이터 삽입)
- DuckDB:
INSERT INTO ... BY NAME ... - 용도: 데이터 삽입시 위치가 달라도 열 이름이 동일한 열로 데이터 삽입
INSERT INTO tbl BY NAME (SELECT 42 AS b, 32 AS a);
INSERT INTO tbl BY NAME (SELECT 22 AS b);
4. INSERT OR IGNORE INTO (삽입시 오류 미발생)
- DuckDB:
SELECT DISTINCT ON (기준컬럼) * - 용도: 데이터를 삽입할 때 기본키 충돌과 같은 오류 발생힌다면 오류를 발생시키지 않고 데이터 삽입하지 않음.
INSERT OR IGNORE INTO tbl VALUES (1, 84);
5. DESC(RIBE) (테이블 요약 정보)
- DuckDB:
DESC 테이블명 - 용도: 테이블의 각 열에 대한 요약정보 산출.
DESC tbl;
6. SUMMARIZE (테이블 기술통계)
- DuckDB:
SUMMARIZE 테이블명 - 용도: 테이블 각 열에 대한 기술통계 산출.
SUMMARIZE tbl;
'EPL과 유튜브 데이터로 배우는 DuckDB' 카테고리의 다른 글
| DuckDB의 오브젝트 스토리지 캐싱(Object-Store Caching) (0) | 2026.05.13 |
|---|---|
| DuckDB와 다른 DB 비교해보기 (0) | 2026.05.09 |
| SQL 효율을 높이는 DuckDB 전용 SQL - Part 4 (0) | 2026.05.06 |
| SQL 효율을 높이는 DuckDB 전용 SQL - Part 3 (0) | 2026.05.05 |
| SQL 효율을 높이는 DuckDB 전용 SQL - Part 1 (0) | 2026.05.03 |
댓글