一、ORM 与 SQLAlchemy 简介
ORM 全称 Object Relational Mapping, 翻译过来叫对象关系映射。简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系。这样,我们要操作数据库,数据库中的表或者表中的一条记录就可以直接通过操作类或者类实例来完成。
SQLAlchemy 是Python 社区最知名的 ORM 工具之一,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型。
安装 SQLAlchemy:
pip3 install sqlalchemy
二、创建数据表和数据库连接
create_table.py
#导入 from sqlalchemy import Column,Integer, String, create_engine from sqlalchemy.orm import sessionmaker #创建操纵数据库的会话窗口 from sqlalchemy.ext.declarative import declarative_bas #创建对象的基类 Base = declarative_base() # 定义User类: class User(Base): # 表的名字: __tablename__ = 'user' # 表的结构: id = Column(Integer, primary_key=True) name = Column(String(32),index=True) #初始化数据库连接: engine = create_engine("mysql+pymysql://root:口令@127.0.0.1:3306/数据库名?charset=utf8") #创建会话对象 Session = sessionmaker(engine)#自动检索所有继承Base的ORM 对象 并且创建所有的数据表 Base.metadata.create_all(engine)
三、单表的增删改查操作
增加数据
#mysql操作 insert into user(name) values ("fengchong") #sqlalchemy操作 #1.导入数据库连接,表,会话对象 from create_table import engine,User,Session #2.打开会话对象 db_session = Session() #3.添加一条数据 db_session.add( User(name="fengchong") ) #执行会话窗口中的所有操作 db_session.commit() #4.添加多条数据 db_session.add_all( [ User(name="zhaomingyang"), User(name="haha"), User(name="xiaoxiao") ] ) db_session.commit() #5.关闭会话对象 db_session.close()