이번 포스팅에서는 최근에 설계한 회원 테이블에 샘플 데이터를 입력하는 내용에 대해서 작성해 보도록 하겠습니다.
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 라이브러리로 임의의 데이터를 생성하고, MariaDB에 데이터를 삽입하도록 하겠습니다.
기존에 생성한 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') |
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을 활용한 개발 작업에 조금이나마 도움이 되었기를 바랍니다.
'Python 파이썬' 카테고리의 다른 글
게시판 샘플 데이터 입력하기 (0) | 2025.01.30 |
---|---|
파이썬 문자열 주요 함수들 (1) | 2024.02.12 |