일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Practice
- 코딩
- seaborn
- node.js
- SQL
- 데이터 분석
- java
- 스마트컨트랙트
- tutorial
- JPA
- querydsl
- SpringDataJpa
- 실습
- Python
- 데이터 시각화
- 머신러닝
- 파이썬
- ORM
- 블록체인실습
- 웹개발
- 이더리움
- ChatGPT
- springboot
- OpenAI
- 프로그래밍
- 데이터베이스
- 암호화폐
- 블록체인
- 딥러닝
- Ai
- Today
- Total
집돌이 공대남 IT
[Python]Python으로 MySQL 서버에 접속해 데이터 다루기 본문
안녕하십니까 집공이입니다.
오늘은 파이썬에서 SQL을 사용해보는 시간을 가지겠습니다.
SQL에 대해서 잘 모르시겠다면 기초 문법부터 읽고 오시는걸 추천드립니다.
자세하게 적어놓았으니 문법을 익히고 오시면 훨씬 도움이 될 것입니다.
파이썬에서 SQL을 사용하기 위해서는 먼저 SQL 서버와 연결할 수 있는 라이브러리를 설치해야 합니다.
대표적인 라이브러리로는 PyMySQL, psycopg2, sqlite3 등이 있습니다.
이 중 PyMySQL을 예시로 설명해보겠습니다.
먼저 PyMySQL을 설치하기 위해서는 pip 명령어를 사용합니다.
터미널(CMD)에서 아래의 명령어를 치시면 됩니다.
pip install PyMySQL
설치가 완료되면, 다음과 같이 코드를 작성하여 SQL 서버에 연결할 수 있습니다.
import pymysql
# MySQL 서버 연결
conn = pymysql.connect(
host='localhost',
user='사용자 이름',
password='비밀번호',
db='데이터베이스 이름',
charset='utf8'
)
host에는 연결할 데이터베이스 서버의 주소를, user에는 데이터베이스 사용자 이름을, password에는 데이터베이스 비밀번호를, db에는 연결할 데이터베이스 이름을 입력합니다.
- host: MySQL 서버 호스트 이름
- user: MySQL 서버 사용자 이름
- password: MySQL 서버 사용자 비밀번호
- db: 작업할 데이터베이스 이름
- charset: 문자 인코딩 설정
- cursorclass: 반환된 결과를 딕셔너리 형태로 사용하기 위한 설정
밑에 예시를 적어놓았습니다.
import pymysql
# MySQL 서버에 연결
connection = pymysql.connect(
host='localhost',
user='username',
password='password',
db='database_name',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
이후에는 cursor 메서드를 사용하여 SQL 문을 실행할 수 있습니다.
예를 들어, SELECT 문을 실행하고 결과를 출력하는 코드는 다음과 같습니다.
# 커서 생성
curs = conn.cursor()
# SQL 실행
sql = "SELECT * FROM 테이블 이름"
curs.execute(sql)
# 데이터 가져오기
rows = curs.fetchall()
for row in rows:
print(row)
# 연결 종료
conn.close()
curs.execute(sql)에서 sql에 실행할 SQL 문을 입력하고, curs.fetchall()로 데이터를 가져올 수 있습니다. 가져온 데이터는 for 루프를 사용하여 하나씩 출력할 수 있습니다.
INSERT, DELETE, UPDATE, MERGE 등 다른 SQL 문을 실행할 때도 위 코드와 비슷한 방식으로 실행하면 됩니다. 단, INSERT 문을 실행할 때는 curs.execute() 대신 conn.commit() 메서드를 호출해야 데이터가 정상적으로 추가됩니다.
위의 방법도 있고 다른 방법도 있습니다.
try:
with connection.cursor() as cursor:
# 쿼리문 작성
sql = "SELECT * FROM `table_name`"
# 쿼리문 실행
cursor.execute(sql)
# 결과 가져오기
result = cursor.fetchall()
print(result)
finally:
# 연결 종료
connection.close()
위의 코드에서,
- with connection.cursor() as cursor:: with 문을 사용하여 cursor 객체를 만들고 SQL 문을 실행합니다.
- sql = "SELECT * FROM table_name": 쿼리문을 작성합니다.
- cursor.execute(sql): execute() 함수를 사용하여 쿼리문을 실행합니다.
- cursor.fetchall(): 결과를 가져옵니다.
이렇게 pymysql 모듈을 사용하여 Python에서 MySQL과 같은 데이터베이스와 상호작용할 수 있습니다.
오늘은 Python에서 SQL을 사용해보았습니다. 지금까지 기초문법을 배우고 데이터베이스까지 연결해보았습니다.
다음은 ORM(Object-Relational Mapping)을 학습해보겠습니다.
오늘 내용 충분히 숙지하시고 다음 포스팅으로 넘어가시길 추천드립니다.
감사합니다.
'IT > 파이썬' 카테고리의 다른 글
[Python]ORM을 이용한 파이썬 실습(게시판 구현) (0) | 2023.03.05 |
---|---|
[Python]파이썬에서 ORM 활용하기 (0) | 2023.03.05 |
[Python]파이썬으로 데이터 분석 및 시각화하기: pandas, numpy, matplotlib, seaborn 활용법-numpy,matplotlib,seaborn (0) | 2023.03.04 |
[Python]파이썬으로 데이터 분석 및 시각화하기: pandas, numpy, matplotlib, seaborn 활용법-pandas편 (0) | 2023.03.04 |
[Python]파이썬을 활용한 데이터 분석 라이브러리: pandas, numpy, matplotlib, seaborn (0) | 2023.03.04 |