본문 바로가기
Python 파이썬

샘플 데이터 입력하기 : faker 라이브러리

by 향테크 2025. 1. 29.

Faker로 샘플데이터 입력하기

 

이번 포스팅에서는 최근에 설계한 회원 테이블에 샘플 데이터를 입력하는 내용에 대해서 작성해 보도록 하겠습니다.

 

2025.01.27 - [MariaDB] - 게시판 DB 테이블 설계하기

 

일일이 데이터를 하나씩 넣을 수 없기에, 파이썬의 데이터 생성 라이브러리인 faker를 통해서 데이터를 삽입하겠습니다.

 

목차

 

Faker 라이브러리 소개

Faker는 다양한 유형의 더미 데이터를 간편하게 생성할 수 있는 Python 라이브러리입니다.

이 라이브러리는 이름, 주소, 전화번호, 이메일, 날짜, 텍스트 등 현실에서 자주 사용되는 데이터를 무작위로 만들어주는 기능을 제공합니다.

특히 개발 중 데이터베이스에 테스트 데이터를 넣거나, UI 테스트를 위해 더미 데이터를 생성할 때 유용합니다. 또한, 원하는 언어와 국가에 맞춘 데이터를 생성할 수 있어 다양한 환경에서 활용이 가능합니다.

 

Faker 라이브러리 웹사이트 : https://faker.readthedocs.io

 

Faker 주요 특징

 

  • 이름, 주소, 이메일 등 기본적인 정보 생성
  • 국가별 로케일 지원 (예: 한국어, 영어, 일본어 등)
  • 날짜, 시간, 텍스트, 금융 정보, 심지어 IP 주소나 파일 이름까지 생성 가능
  • 쉽고 간결한 사용법

 

설치 방법

Faker 라이브러리는 Python의 패키지 매니저인 pip를 사용해 간단히 설치할 수 있습니다.

아래 명령어를 실행하여 설치합니다.

pip install faker

 

 

설치가 완료되었다면, 간단한 테스트를 통해 Faker가 잘 작동하는지 확인해 보도록 하겠습니다.

 

간단한 사용 예제

Faker의 기본적이 사용법은 매우 간단합니다.

설치 후 아래의 코드를 실행하면 다양한 데이터를 확인할 수 있습니다.

from faker import Faker

# Faker 인스턴스 생성(한국어)
faker = Faker('ko_KR')

# 기본 데이터 생성
print("이름:", faker.name())
print("주소:", faker.address())
print("이메일:", faker.email())
print("전화번호:", faker.phone_number())
print("문장:", faker.sentence())
print("날짜:", faker.date())
print("프로필:", faker.profile())

 

Faker 예제 실행 결과

 

 

파이썬 데이터 삽입 예제

Faker 라이브러리로 임의의 데이터를 생성하고, MariaDB에 데이터를 삽입하도록 하겠습니다.

 

기존에 생성한 tb_member라는 회원 테이블입니다.

최초 테이블 설계때보다 성별, 생년월일, 주소 칼럼을 추가하였습니다.

tb_member 테이블 상세

 

 

회원 테이블 필드별 데이터 입력 내용

faker.profile()로 임의의 프로필 값을 조회할 수 있습니다.

아래 표처럼 회원 테이블의 필드와 매칭하여 데이터를 입력하겠습니다.

필드 내용
ID 자동 증가
USER_ID faker.profile.get('username')
USER_NM faker.profile.get('name')
GENDER faker.profile.get('sex')
BIRTHDAY faker.profile.get('birthdate')
EMAIL faker.profile.get('mail')
ADDRESS faker.profile.get('address')

 

데이터 입력 예제

파이썬으로 MariaDB로 Faker로 profile() 함수로 임의의 프로필을 생성하였습니다.

1000건의 데이터를 tb_member 테이블에 데이터를 입력하겠습니다.

아래의 코드를 실행합니다.

from faker import Faker
import pymysql
import random

faker = Faker('ko_KR')

# MariaDB 연결 정보
host = 'localhost'
user = 'root'
password = 'password'
database = 'db'

# MariaDB 연결
connection = pymysql.connect(
    host=host,
    user=user,
    password=password,
    database=database
)

try:
    with connection.cursor() as cursor:
        for i in range(1000):
            # 데이터 삽입 SQL 쿼리
            sql = "INSERT INTO tb_member " \
                  "(USER_ID, USER_NM, GENDER, BIRTHDAY, EMAIL, ADDRESS, REG_DATE) " \
                  "VALUES " \
                  "(%s, %s, %s, %s, %s, %s, NOW()) "

            # 삽입할 데이터
            profile = faker.profile()
            random_number = random.randint(100, 999)
            user_id = profile.get('username') + "" + str(random_number)
            data = (user_id, profile.get('name'), profile.get('sex'), profile.get('birthdate'), profile.get('mail'), profile.get('address'))

            # 쿼리 실행
            cursor.execute(sql, data)

    # 변경 사항 커밋
    connection.commit()
    print("데이터가 성공적으로 삽입되었습니다.")

finally:
    # 연결 종료
    connection.close()

 

데이터 입력 실행 결과

 

데이터 확인하기

실제로 MariaDB tb_member 테이블에 데이터가 입력됐는지 확인해 보겠습니다.

SELECT COUNT(*) FROM tb_member;

 

데이터 건수 확인

 

입력된 데이터도 확인해 보도록 하겠습니다.

데이터 확인

 

마무리

이번 글에서는 Python의 Faker 라이브러리를 활용해 MariaDB에 더미 데이터를 삽입하는 방법을 알아보았습니다.

Faker는 데이터베이스 테스트와 개발 환경에서 아주 유용한 도구입니다.

이를 통해 더 현실적이고 다양한 데이터를 손쉽게 생성할 수 있어, 효율적인 테스트 환경을 구축할 수 있습니다.

 

이 글이 MariaDB와 Python을 활용한 개발 작업에 조금이나마 도움이 되었기를 바랍니다.

728x90
반응형

'Python 파이썬' 카테고리의 다른 글

게시판 샘플 데이터 입력하기  (0) 2025.01.30
파이썬 문자열 주요 함수들  (1) 2024.02.12