티스토리 뷰

728x90

패키지(터미널에서 설치)

pip install sqlalchemy
pip install pymysql

 

 

데이터 베이스 접속

from sqlalchemy import create_engine

database_connection = create_engine('데이터 베이스 접속 url')
  • 데이터 베이스 접속 url은 데이터베이스 종류마다 다름
  • 별도의 패키지를 설치해야 하는 경우도 있다. 
  • url은 데이터베이스 종류://아이디:비밀번호@IP:포트/데이터베이스 이름
  • 포트는 3306이면 생략 가능

 

테이블 가져와서 DataFrame 만들기

dataframe = pandas.read_sql_table('테이블 이름', database_connection)

 

샘플 데이터 생성(mysql)

use mydb;

create table dbms(
	num int(10) not null auto_increment,
    name varchar(255) not null,
    vendor varchar(255) not null,
    description varchar(255),
    primary key(num)
);

insert into dbms(name, vendor, description) values ('Oracle', 'Oracle', '금융과 대기업에서 많이 사용하는 가장 안정적인 데이터베이스');
insert into dbms(name, vendor, description) values ('HANA DB', 'SAP', '오라클 대체용으로 사용하는 데이터베이스로 현대 자동차에서 사용');
insert into dbms(name, vendor, description) values ('MySQL', 'Oracle', '현재 가장 많이 사용한다고 알려진 관계형 데이터베이스로 중소 기업이나 플랫폼 기업에서 주로 이용');
insert into dbms(name, vendor, description) values ('Maria DB', 'Open Source', 'MySQL의 fork로 현재는 kakao에서 많이 사용하고 있다.');
insert into dbms(name, vendor, description) values ('PostgreSQL', 'Open Source', '요즈음 많이 사용되는 데이터베이스');

실행결과

데이터 불러오기

import pandas as pd
from sqlalchemy import create_engine
import pymysql

connect = create_engine('mysql+mysqldb://root:1111@localhost/mydb')
df = pd.read_sql_table('dbms', connect)
print(df)

 

728x90

'python' 카테고리의 다른 글

[python, DataFrame] DataFrame  (1) 2024.02.15
[python, DataFrame]데이터 탐색  (1) 2024.02.13
[python] selenium  (0) 2024.02.13
[python] 데이터 수집  (1) 2024.02.13
[python] numpy(2)  (1) 2024.02.13