zoukankan      html  css  js  c++  java
  • 记录SQLAlchemy的基本使用

    代码

    # -*- coding: utf-8 -*-
    
    
    from sqlalchemy import Column, String, create_engine
    from sqlalchemy.orm import sessionmaker
    from sqlalchemy.ext.declarative import declarative_base
    
    from _sqlalchemy.models import Person
    
    Base = declarative_base()
    
    
    class User(Base):
    
        __tablename__ = 'user'
    
        id = Column(String(20), primary_key=True)
        name = Column(String(20))
    
    
    engine = create_engine('mysql+mysqlconnector://root:@localhost:3306/demo')
    DBSession = sessionmaker(bind=engine)
    
    
    if __name__ == '__main__':
        session = DBSession()
        new_user = Person(first_name='David', last_name="Zeng")
        session.add(new_user)
        session.commit()
        session.close()
    
    

    首先是导入declarative_base,这是我要创建的对象的基本父类,然后然后就可以创建自己的对象了,首先是创建一个engine连接,我使用的是mysql,所以我的连接链接是mysql=mysqlconnector://root:@localhost:3306/demo,其中的密码不存在是因为我本地数据库没密码,然后我用的数据库是自己创建的demo,创建了连接之后就用sqlalchemy的会话绑定这个连接,产生一个可用的和数据库的会话,具体原理后面我还得再了解一下再继续写,到这一步基本就差不多了,接下来就是自己对于对象的创建了,比如我new了一个对象,然后把这个对象通过会话进行了添加,这个时候其实还没有存到数据库,只是将这个操作放到了会话当中,只有等我commit之后才是真的被添加到数据库当中,如果session不用了,最好是close掉,防止资源的浪费。

  • 相关阅读:
    Problem about objc_exception_throw
    Change mime Types for mac's default apache
    重启Mac上的Apache服务
    通过无线网安装自己打包的ipa文件
    How to cancel selection for TreePanel(GXT)
    使用Jsoup获取网页内容超时设置
    HTML Meta, http-equiv, Refresh
    线上redis服务内存异常分析。
    C++/CLI 本地字符串和托管字符串之间的转换
    DWF Toolkit on Microsoft Windows
  • 原文地址:https://www.cnblogs.com/zzy0306/p/10671925.html
Copyright © 2011-2022 走看看