欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基础教学day20--对象关系映射SQLAalchemy

程序员文章站 2022-06-11 21:59:00
...

一、对象关系映射SQLAalchemy简介

1、ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。

二、基本操作

1、安装sqlachemy

  1. 在有安装mysql数据库的机器
  2. 安装模块:pip3 install sqlalchemy
  3. 查看版本信息

2、在sqlalchemy中,session用于创建程序与数据库之间的会话。所有对象的载入和保存都需要通过session对象。

  • 写入缓存:session.add§
  • 将缓存数据提交到数据库:session.commit()

代码案例:

from sqlalchemy import create_engine,Column,Integer,SmallInteger,String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

engine = create_engine('mysql+pymysql://root:[email protected]/pymysql',encoding='utf-8',echo=True)

#创建缓存对象
Session = sessionmaker(bind=engine)
session = Session()

#声明基类
Base = declarative_base()


class Student(Base):
    __tablename__ = 'students'
    score = Column(Integer,primary_key=True,autoincrement=True)
    name = Column(String(20),nullable=False)
    email = Column(String(30),unique=True)

    def __repr__(self):
        return self.name

if __name__ == '__main__':
    #创建数据表
    Base.metadata.create_all(engine)
    #添加数据库的操作;例:添加单条数据
    p = Student(score=1,name='chen',email='[email protected]')
    #写入缓存
    session.add(p)
    #将缓存数据提交到数据库
    session.commit()