Connect To Database in Python

Page content

개요

  • Python과 MySQL을 연동하도록 한다.
  • 프로젝트 폴더에 가상환경이 설치가 되어 있는 것으로 가정한다.
  • MySQL은 기 설치가 되어 있는 것으로 가정한다.

라이브러리 설치

  • Python과 MySQL을 연동해주는 라이브러리 종류는 다양하게 있다.
$ pip install mysql-connector mysql-connector-python

파일 작성

  • 간단하게 파일을 작성한다.
import mysql.connector

mydb = mysql.connector.connect(
    host = "localhost", 
    user = "root", 
    passwd = "evan"
)

print(mydb)
  • 파일을 실행한다.
$ python database.py 
<mysql.connector.connection_cext.CMySQLConnection object at 0x000002BF4E606090>
(venv) 

Python 코드 활용하여 DB 생성

  • 이번에는 코드를 활용하여 Schema를 생성한다.
import mysql.connector

mydb = mysql.connector.connect(
    host = "localhost", 
    user = "root", 
    passwd = "evan"
)

print(mydb)

my_cursor = mydb.cursor()
query = """
    CREATE DATABASE mulcampdb
"""

my_cursor.execute(query)

print("완료")
  • 파일을 실행한다.
$ python database.py 
<mysql.connector.connection_cext.CMySQLConnection object at 0x0000020BB6504F50>
완료
  • MySQL Workbench에서 DB가 생성되었는지 확인한다.

Untitled

Python 코드 활용하여 현재 DB 종류 확인하기

  • 아래 코드를 추가로 작성한다.
import mysql.connector

mydb = mysql.connector.connect(
    host = "localhost", 
    user = "root", 
    passwd = "evan"
)

print(mydb)

my_cursor = mydb.cursor()
query = """
    CREATE DATABASE mulcampdb
"""

# my_cursor.execute(query)

query = """
    SHOW DATABASES;
"""

my_cursor.execute(query)
for db in my_cursor:
    print(db)

print("완료")
  • 파일을 실행한다.
$ python database.py 
<mysql.connector.connection_cext.CMySQLConnection object at 0x000001BF4E066090>
('classicmodels',)
('django',)
('information_schema',)
('instacart',)
('mulcampdb',)
('mydata',)
('mydata2',)
('mysql',)
('performance_schema',)
('sakila',)
('sys',)
('world',)
완료