首页 > 代码库 > python-SQLAlchemy详解

python-SQLAlchemy详解


1.SQLAlchemy的作用
ORM对象关系映射技术

2.SQLAlchemy安装

pip install SQLAlchemy

3.使用示例

# 导入:from sqlalchemy import Column, String, create_engine,ForeignKeyfrom sqlalchemy.orm import sessionmaker,relationshipfrom sqlalchemy.ext.declarative import declarative_base# 创建对象的基类:Base = declarative_base()# 初始化数据库连接(postgresql默认使用psycopg2驱动,可省略):engine = create_engine(postgresql+psycopg2://username:password@host:post/dbname)# 创建DBSession类型:DBSession = sessionmaker(bind=engine)# 定义User对象:class User(Base):    # 表的名字:    __tablename__ = test2    # 表的结构:    id = Column(String(20), primary_key=True)    name = Column(String(20))    # 一对多:    books=relationship(Book)class Book(Base):    # 表的名字:    __tablename__ = test3    # 表的结构:    id = Column(String(20), primary_key=True)    name = Column(String(20))    # “多”的一方的book表是通过外键关联到user表的:    user_id=Column(String(20),ForeignKey(test2.id))    session=DBSession()new_user=User(id=5,name=Bob)session.add(new_user)new_book=Book(id=1,name=linux,user_id=5)session.add(new_book)new_book=Book(id=2,name=python,user_id=5)session.add(new_book)session.commit()session.close()session=DBSession()user=session.query(User).filter(User.id==5).one()print type:,type(user)print name:,user.nameprint books:,user.bookssession.close()

运行结果:

技术分享

python-SQLAlchemy详解