zoukankan      html  css  js  c++  java
  • sqlalchemy 单表操作

    SQLAlchemy

    • 创建基类

      from sqlalchemy.ext.declarative import declarative_base
      # 基类
      Base = declarative_base()
      
    • 创建 session 会话

      from sqlalchemy import create_engine
      from sqlalchemy.orm import sessionmaker
      # 创建连接
      engine = create_engine('mysql://root:ocnt_123@49.234.163.2:3306/admin')
      Session = sessionmaker(bind=engine)
      # 创建session会话
      session = Session()
      
    • 单表操作

      • 创建 User

        class User(Base):
            ''' 用户类 '''
            __tablename__ = 'user'
        	# id 主键、自增
            id = Column(Integer,primary_key=True,autoincrement=True)
            # 名称
            name = Column(String(32),unique=True)
        
      • 数据查询

        # 查询所有的数据
        data = session.query(User).all()
        # 查询第一条数据
        data = session.query(User).first()
        # 查询指定的数据列
        data = session.query(User.name).all()
        # 查询name=Bob的数据
        data = session.query(User).filter(User.name=='Bob').first()
        # 按id倒序查询
        data = session.query(User).order_by(User.id.desc()).all()
        # 分页
        data = session.query(User).limit(1).offset(0).all()
        # 查询数量
        data = session.query(User).count()
        # 聚合 求平均数
        data = session.query(func.avg(User.id)).first()
        # 聚合 求和值
        data = session.query(func.sum(User.id)).first()
        
      • 增加数据

        # 添加一条数据
        try:
            user = User(name='xima')
            session.add(user)
            # 事务提交
            session.commit()
        except:
            # 事务回滚
            session.rollback()
         
        -------------------------------------------------------------------------------
        
        # 添加多条数据
        try:
            session.add_all([
                User(name='donghuadijun'),
                User(name='baihushengzhu')
            ])
            session.commit()
        except:
            session.rollback()
        
      • 更新数据

        try:
            session.query(User).filter(User.id==1).update({'name':'FQ'})
            session.commit()
        except:
            session.rollback()
        
      • 删除数据

        try:
            session.query(User).filter(User.id==1).delete()
            session.commit()
        except:
            session.rollback()
        
  • 相关阅读:
    人月神话阅读笔记01
    Map Reduce数据清洗及Hive数据库操作
    Hadoop实验六——MapReduce的操作
    假期第九周学习记录
    假期第八周学习记录
    假期第七周学习记录
    hadoop不在sudoers文件中。此事将被报告。 解决方法
    假期第六周学习记录
    2021寒假(22)
    2021寒假(21)
  • 原文地址:https://www.cnblogs.com/wuxiaoshi/p/14140146.html
Copyright © 2011-2022 走看看