1、SQLAlchemy入门案例
from sqlalchemy import Column, String, create_engine, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.ext.declarative import declarative_base
# 创建基类
Base = declarative_base()
# 定义User对象
class User(Base):
# 表名
__tablename__ = 'user'
# 表结构
id = Column(String(20), primary_key=True)
name = Column(String(20))
books = relationship('Book')
class Book(Base):
__tablename__ = 'book'
id = Column(String(20), primary_key=True)
name = Column(String(20))
user_id = Column(String(20), ForeignKey('user.id'))
def __repr__(self):
return "<%s name:%s>"%(self.id, self.name)
# 初始化数据库连接
engine = create_engine("mysql+pymysql://root:123456@127.0.0.1:3306/demo", encoding='utf-8', echo=True)
# 创建表结构
Base.metadata.create_all(engine)
# 创建session类型
DBSession = sessionmaker(bind=engine)
# 创建session对象
session = DBSession()
# 创建book对象
new_book1 = Book(id='1', name='tom and cat', user_id='20')
new_book2 = Book(id='2', name='ernie', user_id='20')
# 创建新的User对象
new_user = User(id='20', name='home', books=[new_book1,new_book2])
# 添加session
session.add(new_user)
# 提交session
session.commit()
# Query查询
user = session.query(User).filter(User.id == '20').one()
print(user.name)
print(user.books)
# 关闭session
session.close()
2、SqlAlchemy工具类
TODO。。。