🐨CoalaCoding
DocsExamplesTry itBoardB반B반
🐨CoalaCoding

개발자를 위한 한국어 웹 기술 문서

문서

  • JavaScript
  • Web Publishing
  • React
  • Python

커뮤니티

  • 게시판
  • 예제 모음
  • Try it 에디터

기타

  • GitHub
  • 관리자
© 2026 CoalaCoding. All rights reserved.
  • sqlite3로 SQL 명령문 실행
  • DB데이터 일괄추가하기
  • SQLite3 라이브러리를 활용한 SQL 명령문 실행
  • Pandas를 활용한 SQL 명령문 실행
  • CREATE 명령어를 활용한 DB 테이블의 생성
  • DDL 명령어의 이해 및 실습
  • SQL SELECT 명령어의 이해 및 실습
  • SQL INSERT, UPDATE, DELETE 명령어 실습
  • SQL SELECT 세부 명령어 실습 1
  • SQL SELECT 세부 명령어 실습 2
  • SQL INNER JOIN 실습
  • SQL LEFT JOIN 실습
  • SQL GROUP BY 실습 1
  • SQL GROUP BY 실습 2
  • SQL SubQuery 활용 실습
  • 데이터셋 기반 DB 구축 & DB 활용 실습 — 리액트 연동 완성
  1. 홈
  2. 문서
  3. Backend
  4. Database & SQL
  5. DB데이터 일괄추가하기

DB데이터 일괄추가하기

코드 블록의 Try it Yourself 버튼으로 직접 실행할 수 있다.

구문

1. SQLite 데이터베이스 테이블 생성

여러 개의 SQL 명령문을 한 번에 실행하여 테이블을 생성하는 방법입니다.

1.1. 여러 SQL문을 실행

# exe.py

import sqlite3


dbpath = "mydb.db"
con = sqlite3.connect(dbpath)
cur = con.cursor()

script = """
DROP TABLE IF EXISTS board;
CREATE TABLE board(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
title TEXT,
msg TEXT
)
"""
cur.executescript(script)

con.commit()
con.close()

None: 2: import sqlite3 — Python 내장 SQLite 라이브러리를 불러옵니다

5: sqlite3.connect(dbpath) — DB 파일에 연결합니다. 파일이 없으면 자동 생성됩니다

6: con.cursor() — SQL 명령을 실행할 수 있는 커서 객체를 만듭니다

10~17: SQL 스크립트 — DROP TABLE IF EXISTS로 기존 테이블 삭제 후 CREATE TABLE로 새 테이블 생성

  • INTEGER PRIMARY KEY AUTOINCREMENT — 자동 증가하는 고유 번호 (1, 2, 3...)
  • TEXT NOT NULL — 문자열 타입, 반드시 값이 있어야 함
  • TEXT — 문자열 타입, 비워둘 수 있음 (NULL 허용)

18: executescript() — 여러 SQL문을 ;로 구분하여 한 번에 실행합니다

20: con.commit() — 변경사항을 실제 DB에 반영합니다 (저장). 오류 시 con.rollback()으로 되돌릴 수 있습니다

21: con.close() — DB 연결을 종료합니다

1.2. 여러 행 데이터 일괄 삽입

# exema.py
import sqlite3

dbpath = "mydb.db"
con = sqlite3.connect(dbpath)
cur = con.cursor()

data = [
    ("김망고","말티즈","말티즈강아지",),
    ("박공원","말티푸","말티푸강아지",),
    ("신봄동","푸숑","푸숑강아지",),
]

cur.executemany("INSERT INTO board(name,title,msg) VALUES(?,?,?);", data)
con.commit()
cur.execute("SELECT * FROM board;")

#board_list=cur.fatchone()
board_list=cur.fetchall()

for board in board_list:
  print(board)

con.commit()
con.close()


None: 7~11: data — 삽입할 데이터를 튜플의 리스트로 준비합니다. 각 튜플이 한 행(name, title, msg)에 해당합니다

13: executemany() — ? 플레이스홀더에 data 리스트의 각 튜플을 대입하여 INSERT를 반복 실행합니다

14: con.commit() — 삽입한 데이터를 DB에 저장합니다

15: execute("SELECT * FROM board") — board 테이블의 모든 데이터를 조회합니다

17: fetchall() — 조회 결과를 리스트로 모두 가져옵니다. fetchone()은 한 행만 가져옵니다

20~21: 조회 결과를 한 행씩 출력합니다

23: con.commit() — 변경사항을 DB에 저장합니다

24: con.close() — DB 연결을 종료합니다

결과 alt alt

목차

  • 구문