当前位置: 首页 > 后端技术 > Python

在Python中使用SQLAlchemy作为ORM框架

时间:2023-03-26 17:48:49 Python

SQLAlchemy是Python中最著名的ORM框架。安装SQLAlchemy:$pipinstallsqlalchemyimportSQLAlchemy,并初始化DBSession:fromsqlalchemyimportColumn,String,create_enginefromsqlalchemy.ormimportsessionmakerfromsqlalchemy.ext.declarativeimportdeclarative_base#创建对象的基类:Base=declarative_base()#定义用户对象:classUser(Base):#表名:__tablename__='user'#表结构:id=Column(String(20),primary_key=True)name=Column(String(20))#初始化数据库连接:engine=create_engine('mysql+mysqlconnector://root:root@localhost:3306/test')#创建DBSession类型:DBSession=sessionmaker(bind=engine)添加一行记录到数据库表:#创建一个会话对象:session=DBSession()#创建一个新的用户对象:new_user=User(id='5',name='Bob')#添加到会话:session.add(new_user)#提交并保存到数据库:session.commit()#关闭session:session.close()querydata:#创建Session对象:session=DBSession()#创建Query查询:user=session.query(User).filter(User.id=='5').one()#打印类型和对象的名称属性:print('type:',type(user))print('name:',user.name)#CloseSession:session.close()定义一对多关系如下:classUser(Base):__tablename__='user'id=Column(String(20),primary_key=True)name=Column(String(20))#一对多:books=relationship('Book')classBook(Base):__tablename__='book'id=Column(String(20),primary_key=True)name=Column(String(20))#"many"端通过外键与用户表相关联:user_id=Column(String(20),ForeignKey('user.id'))