Software Study/SQL

[2021.02.22] SQL 공부 - Python에서 접속

욜스터 2021. 2. 22. 21:02
728x90

Python의 MySqla모듈 설치

$ pip install PyMySQL

 

접속 절차

1. PyMySql 모듈을 import

2. MySQL 연결: pymysql.connect()

  - 호스트명, 로그인, 암호, 접속할 DB등 지정

3. DB커서 객체생성: Connection 객체로부터 cursor() 호출

4. SQL문 실행

  -Cursor 객체의 메소드를 사용하여 SQL을 DB서버에 전송 & Fetch

      -SQL을 DB서버에 전송: execute()

      -Fetch: fetchall(), fetchone(), fetchmany(n)

Connection 객체의 commit(): 삽입, 갱신, 삭제

5. DB연결 종료: Connection객체의 close()

 

 

예시

#STEP 1
import pymysql

#STEP 2: MySQL Connection 연결
con = pymysql.connect(host='localhost', user='mysql_user_id', password='password',
                      db='access_db',charset='utf8') 

#STEP 3: Connection으로부터 Cursor 생성
cur = con.cursor()

#STEP 4: SQL문 실행 및 Fetch
sql = "SELECT * FROM student"
cur.execute(sql)

#데이터 Fetch
rows = cur.fetchall()
print(rows)

#STEP 5
con.close()

 

 

 

bigdata.dongguk.ac.kr/www/lectures/DB/_book/python%EC%97%90%EC%84%9C-mysql%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9D%98-%EC%A0%91%EA%B7%BC.html

 

7 장 Python에서 MySQL데이터의 접근 | 통계데이터베이스

여기서는 PyMySQL를 이용하여 접근하는 방법을 예시함

bigdata.dongguk.ac.kr

 

 


기본 쿼리문 전달(DB/TABLE생성)

 

DB 생성하기

sql=["CREATE DATABASE test;", "SHOW DATABASES;"]
for s in sql:
    cur.execute(s)
    result = cur.fetchall()
    for r in result:
        print(r)

 

 

 

TABLE 생성하기

sql = ["USE test;", "CREATE TABLE student(name VARCHAR(8) NOT NULL, birth INT(8), team VARCHAR(10), phone VARCHAR(11),address VARCHAR(5));",
       "SHOW TABLES;"]
for s in sql:
    cur.execute(s)
    result = cur.fetchall()
    for r in result:
        print(r)

 

 

 

 

dalulu.tistory.com/124?category=740172

 

[Python Project 02-2] 'PyMySQL'을 이용한 기본 쿼리문 전달 (DB/Table 생성 등)

# 2-1. DB 생성하기 sql = ["DROP DATABASE IF EXISTS test;", "CREATE DATABASE test;", "SHOW DATABASES;"] for s in sql: cursor.execute(s) result = cursor.fetchall() for r in result: print(r) \Users..

dalulu.tistory.com

 

728x90
반응형