zoukankan      html  css  js  c++  java
  • Python sqlalchemy使用

    import sqlalchemy
    from sqlalchemy import create_engine
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column, Integer, String
    from sqlalchemy.orm import sessionmaker
    
    engine = create_engine('sqlite:///Plan.db', encoding='utf-8')
    
    Base = declarative_base()  # 生成orm基类
    
    
    class User(Base):
        __tablename__ = 'user'  # 表名
        id = Column(Integer, primary_key=True)
        name = Column(String(32))
        password = Column(String(64))
    
    
    Base.metadata.create_all(engine)  # 创建表结构
    
    Session_class = sessionmaker(bind=engine)  # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
    Session = Session_class()  # 生成session实例
    
    # 基础结束
    
    
    
    # 插入开始
    user_obj = User(name="alex", password="alex3714")  # 生成你要创建的数据对象
    print(user_obj.name, user_obj.id)  # 此时还没创建对象呢,不信你打印一下id发现还是None
    
    Session.add(user_obj)  # 把要创建的数据对象添加到这个session里, 一会统一创建
    print(user_obj.name, user_obj.id)  # 此时也依然还没创建
    
    Session.commit()  # 现此才统一提交,创建数据
    # 插入结束
    
    
    # 查询开始
    my_user = Session.query(User).filter_by(name="alex").first()
    print(my_user)
    print(my_user.id, my_user.name, my_user.password)
    # 查询结束
    
    # 修改开始
    my_user = Session.query(User).filter_by(name="alex").first()
    
    my_user.name = "Alex Li"
    
    Session.commit()
    # 修改技术
    
    # 多条件查询
    objs = Session.query(User).filter(User.id > 0).filter(User.id < 7).all()
    # 多条件查询
    
    # 统计
    Session.query(User).filter(User.name.like("Ra%")).count()
    # 统计
    
    # 分组
    from sqlalchemy import func
    
    print(Session.query(func.count(User.name), User.name).group_by(User.name).all())
    # 分组
  • 相关阅读:
    Iso-seq 必备基础
    html 段落
    html 标题
    html 简介
    motiMaker 软件安装测试
    ggplot2 提取stat计算出来的数据
    R包 randomForest 进行随机森林分析
    AJAX应用【股票案例、验证码校验】
    Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】
    Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】
  • 原文地址:https://www.cnblogs.com/jackadam/p/8151639.html
Copyright © 2011-2022 走看看