Contents

[-]
1 환경
2 anaconda에서 pyodbc install
3 pyodbc: 귀찮은 버전
4 pandas 이용


1 환경 #

  • localhost에 microsoft sql server가 설치되어 있음(필자의 PC에는 2016 Developer Edition이 설치됨)
  • pubs 데이터베이스가 있다고 가정

2 anaconda에서 pyodbc install #

conda install -c anaconda pyodbc=3.0.10

3 pyodbc: 귀찮은 버전 #

Windows OS의 ODBC세팅을 하지 않아도 된다. 그냥 관련이 없이 동작한다고 생각하면 되겠다. Windows OS의 ODBC세팅을 했다면 conn = pyodbc.connect(r'DSN=mynewdsn;UID=user;PWD=password')와 같이 하면 된다. DSN은 Data Source Names의 약자
import pyodbc
conn = pyodbc.connect(driver='{SQL Server}', host='localhost,1433', database='pubs', user='id', password='pass')
cursor = conn.cursor()
cursor.execute("""
    select  
        type
    ,   count(*) cnt
    from dbo.titles
    group by
        type
    order by 2 desc
""")
rows = cursor.fetchall()
for row in rows:
    print (row.type, row.cnt)

4 pandas 이용 #

import pandas.io.sql as sql
import pyodbc
conn = pyodbc.connect(driver='{SQL Server}', host='localhost,1433', database='pubs', user='id', password='pass')

rows = sql.read_sql("""
    select  
        type
    ,   count(*) cnt
    from dbo.titles
    group by
        type
    order by 2 desc
"""
, conn)
print (rows)

CategoryMachineLearning
Retrieved from http://test.databaser.net/moniwiki/wiki.php/DB에서데이터읽기
last modified 2018-04-13 23:12:54