天天看点

sqlalchemy简单使用

sqlalchemy简单使用

  1. 导入SQLAlchemy
    import sqlalchemy
               
  2. 连接数据库
    # sqlite数据库
    base_path = os.path.dirname(os.path.abspath(__file__)
    db_path = 'sqlite:///'+os.path.join(base_path, 'db.sqlite3')
    engine = sqlalchemy.create_engine(db_path, encoding='utf-8', echo=True)
    
    # mysql数据库
    db_path = 'mysql://用户名:密码@主机地址/库名'
               
  3. 创建关联核心的数据库表基类
    from sqlalchemy.ext.declarative import declarative_base
    base = declarative_base(bind=engine)
               
  4. 创建数据库执行的类
    from sqlalchemy.orm import sessionmaker
    Session = sessionmaker(bind=engine)
    session = Session()
               
  5. 封装模型
    # 定义自己的模板类
    from sqlalchemy import Column, Integer, String, Float
    class BaseModel(Base):
        __abstract__ = True
        id = Column(Integer, primary_key=True, autoincrement=True) # 主键
    
        def save(self):
            session.add(self)
            session.commit()
    
        def update(self):
            session.commit()
    
        def delete(self):
            session.delete(self)
            session.commit()
    
    # 建立表格模型
    class Car(BaseModel):
        __tablename__ = 'car'   # 表名, 必写, 不然会报错
        c_name = Column(String(32))
        c_price = Column(Integer)
               
  6. 创建表格
    base.metadata.create_all()
               
  7. 完成