SQLAlchemy는 인기있는 SQL 툴킷이며 Object Relational Mapper이다. 이것은 파이썬으로 작성되었고 응용 프로그래머에게 강력한 기능과 풍붕한 SQL의 유연성을 제공한다. MIT 라이선스에 따라 출시된 오픈 소스 및 크로스 플랫폼 소프트웨어입니다.
import sqlalchemy as db
engine = db.create_engine('mysql+pymysql://test:test123!!@db.database.com/db_name')
connection = engine.connect()
metadata = db.MetaData()
table = db.Table('table_name', metadata, autoload=True, autoload_with=engine)
print(table.columns.keys())
table = db.Table('table_name', metadata, autoload=True, autoload_with=engine)
# select * from table 과 같음
query = db.select([table])
# 이때 query의 내용을 출력해보면 sql query인 것을 알 수 있음
print(query)
# 쿼리 실행
result_proxy = connection.execute(query)
result_set = result_proxy.fetchall()
# 결과 print 이때 10개만 출력하도록 함. 단순한 set 자료구조의 형태를 하고 있음.
print(result_set[:10])
query = db.select([table]).where(table.columns.password == '0809')
query = db.select([table]).where(table.columns.password.isnot(None))
query = db.insert(table).values(values) # 이때 values는 table의 column의 순서와 갯수가 일치해야 함
result_proxy = connection.execute(query)
result_proxy.close()
query = db.insert(table)
values_list = [{'id': 'dork', 'passwd': '1234'}, {'id': 'test', 'passwd':'test123', 'email':'test@test.com'}]
result_proxy = connection.execute(query, values_list)
result_proxy.close()
이상으로 Python3 - SQLAlchemy 사용하기를 간략하게 마무리하도록 하겠습니다.
더 나은 개발이 되길 바라며:)