기록과 정리의 공간

[MySQL] (20200807) TIL - 2 본문

DATABASE/MySQL

[MySQL] (20200807) TIL - 2

딸기맛도나쓰 2020. 8. 7. 17:02

TIL - 인프런 강의를 듣고 공부한 내용을 정리(강의 링크)

  • 공부한 내용
    1. pymysql 라이브러리 설치하기 (공식 문서 링크)
    2. pymysql 실습 - 일반적인 mysql 핸들링 코드 작성 하기

0. pymysql 라이브러리 설치하기

  • pymysql? MySQL을 python에서 사용할 수 있게 해주는 라이브러리 (이외에도 다양한 라이브러리들이 존재)

  • 설치하기

    pip install pymysql

1. pymysql 실습 - 일반적인 mysql 핸들링 코드 작성 하기

  • 일반적인 MySQL 핸들링 코드 작성 순서
    1. pymysql 모듈 import
    2. pysql.connect() 메소드를 사용하여 mysql에 연결한다.(호스트명, 포트, 로그인, 암호, 접속할 DB명 등을 파라미터로 지정)
    3. mysql 접속에 성공하면, Connection 객체로부터 cursor()메서드를 호출하여 Cursor객체를 가져온다.
      데이터베이스의 커서? 일련의 데이터에 순차적으로 액세스할 때 검색 및 "현재 위치"를 포함하는 데이터 요소이다. (참고 링크)
    4. Cursor 객체의 execute() 메소드를 사용하여 SQL문장을 DB서버에 전송한다.
    5. SQL 쿼리의 경우 Cursor객체의 fetchall(), fetchone(), fetchmany()등의 메소드를 사용하여 서버로부터 가져온 데이터를 코드에서 활용
    6. 삽입, 갱신, 삭제 등의 DML문장을 실행하는 경우, INSERT/UPDATE/DELETE 후 Connection객체의 commit() 메소드를 사용하여 데이터를 확정한다.
    7. Connction 객체의 close() 메소드를 사용하여 DB연결을 닫는다.
  • 예시 코드
    • #2. 접속하기
      • host='호스트명' ex> 'localhost' or '127.0.0.1' (자기 pc를 가리킴)
      • port='mysql이 사용하는 포트번호' (mysql default포트번호 : 3306)
      • user='userid'
      • db='접속할 DB이름'
# 1. 라이브러리 import
import pymysql 

# 2. 접속하기
db = pymysql.connect(host='localhost', port=3306, user='root', passwd='설정한패스워드', db='ecommerce', charset='utf8')

# 3. 커서 가져오기
cursor = db.cursor() 

# 4. SQL 구문 만들기
sql = """
    CREATE TABLE product (
        PRODUCT_CODE VARCHAR(20) NOT NULL,
        TITLE VARCHAR(200) NOT NULL,
        ORI_PRICE INT,
        DISCOUNT_PRICE INT,
        DICOUNT_PERCENT INT,
        DELIVERY VARCHAR(3),
        PRIMARY KEY(PRODUCT_CODE)
    );
    """

# 5. SQL 구문 실행하기
cursor.execute(sql)

# 6. DB에 complete하기
db.commit()

# 7. DB 연결 닫기
db.close()

'DATABASE > MySQL' 카테고리의 다른 글

[MySQL] (20200820) TIL  (0) 2020.08.20
[MySQL] (20200808) TIL  (0) 2020.08.08
[MySQL] (20200807) TIL - 1  (0) 2020.08.07
[MySQL] Workbench - Error Code : 1175 해결하기  (0) 2020.08.04
[MySQL] (20200804) TIL  (0) 2020.08.04
Comments