TIL/Python
Insert Dummy Data into MySQL w/ Python
아람2
2025. 2. 11. 11:41
반응형
MySQL 에 Dummy Data 삽입 w/ Python
더미 데이터가 필요한 일이 생겨서 코드를 만들어봤다
userTest 라는 Table 을 만들고 id, name, email Column 으로 구성했다
CREATE TABLE userTest (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
Cursor 커서
MySQL 에서 SQL 쿼리를 실행하고 그 결과를 가져오는 역할
커서를 사용하여 SELECT, INSERT, UPDATE, DELETE 같은 SQL 문을 실행할 수 있다
import mysql.connector
import random
import string
# MySQL 연결 정보
config = {
"host": "localhost",
"port": 3306,
"user": "[UserName]",
"password": "[Password]",
"database": "[DataBase]"
}
# MySQL 연결
conn = mysql.connector.connect(**config)
# SQL 쿼리를 실행할 커서 생성
cursor = conn.cursor()
# 랜덤 문자열 생성하는 함수
def random_string(length=8):
return ''.join(random.choices(string.ascii_letters, k=length))
# 더미 데이터를 삽입하는 함수
def insert_dummy_data(n=100000):
for _ in range(n):
name = random_string()
email = f"{name.lower()}@a.com"
# SQL 쿼리 실행
cursor.execute("INSERT INTO userTest (name, email) VALUES (%s, %s)", (name, email))
# 모든 INSERT 작업을 한꺼번에 Commit 하여 반영
conn.commit()
if __name__ == "__main__":
# 10만 개 데이터 삽입
insert_dummy_data()
# 연결 종료
cursor.close()
conn.close()
MySQL 모든 데이터 삭제하기
import mysql.connector
# MySQL 연결 정보
config = {
"host": "localhost",
"port": 3306,
"user": "[UserName]",
"password": "[Password]",
"database": "[DataBase]"
}
# MySQL 연결
conn = mysql.connector.connect(**config)
cursor = conn.cursor()
# 데이터를 삭제하는 함수
def delete_all_data():
cursor.execute("DELETE FROM userTest")
# 또는 "TRUNCATE TABLE userTest"
conn.commit() # 변경 사항 반영
# 메인 실행 부분
if __name__ == "__main__":
# 데이터 삭제 함수 호출
delete_all_data()
# 연결 종료
cursor.close()
conn.close()
반응형