从入门到精通系列:SQLAlchemy篇

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。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴走的Mine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值