1. #-*-coding:utf-8-*-
  2. #__author__ = "logan.xu"
  3.  
  4. import sqlalchemy
  5. from sqlalchemy import create_engine,funcfrom sqlalchemy.ext.declarative import declarative_base
  6. from sqlalchemy import Column,Integer,String
  7. from sqlalchemy.orm import sessionmaker
  8.  
  9. engine=create_engine("mysql+pymysql://root:12345678@localhost/news",encoding='utf-8',echo=True)
  10. Base=declarative_base()
  11.  
  12. class User(Base):
  13. __tablename__='user'
  14. id=Column(Integer,primary_key=True)
  15. name=Column(String(32))
  16. password=Column(String(64))
  17.  
  18. def __repr__(self):
  19. return "<%s name:%s>" %(self.id,self.name)
  20.  
  21. Base.metadata.create_all(engine) #创建表结构
  22.  
  23. Session_class=sessionmaker(bind=engine)
  24. #创建与数据库的会话session class,注意,这里返回给session的是这个class,不是实例
  25. Session=Session_class() #生成session实例
  26.  
  27. #查询
  28. #data=Session.query(User).filter(User.id>2).all() #filter可以写大于,filter_by不可用写大于
  29. #data=Session.query(User).filter(User.id>1).filter(User.id<3).all() #列取多个条件查询
  30. #data=Session.query(User).filter_by(id=2).all()
  31. #data=Session.query(User).filter(User.id==2).all()
  32. #data=Session.query(User).filter_by().first() #列出一个
  33. #print(data)
  34.  
  35. #修改
  36. #data=Session.query(User).filter(User.id>1).filter(User.id<4).first()
  37. #print(data)
  38. #data.name="Jack Liu"
  39. #data.passwod="Shit happens"
  40.  
  41. #回滚
  42. #fake_user=User(name='Rain',password='12345')
  43. #Session.add(fake_user)
  44. #print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all())
  45. #
  46. #Session.rollback() #此时你rollback一下
  47. #print("after rollback")
  48. #
  49. #print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all())
  50. #Session.commit() #现在才统一提交,创新数据
  51.  
  52. #分组统计
  53. fake_user=User(name='Rain',password='12345')
  54. Session.add(fake_user)
  55.  
  56. print(Session.query(User.name,func.count(User.name)).group_by(User.name).all())
  57. Session.commit() #现在才统一提交,创新数据

Python3-sqlalchemy-orm 分组统计的更多相关文章

  1. Python3+SQLAlchemy+Sqlite3实现ORM教程

    一.安装 Sqlite3是Python3标准库不需要另外安装,只需要安装SQLAlchemy即可.本文sqlalchemy版本为1.2.12 pip install sqlalchemy 二.ORM操 ...

  2. Python-12-MySQL & sqlalchemy ORM

    MySQL MySQL相关文章这里不在赘述,想了解的点击下面的链接: >> MySQL安装 >> 数据库介绍 && MySQL基本使用 >> MyS ...

  3. sqlalchemy ORM

    本节内容       ORM介绍     sqlalchemy安装     sqlalchemy基本使用     多外键关联     多对多关系   1. ORM介绍   orm英文全称object ...

  4. Python sqlalchemy orm 常用操作

    增add # 创建表1 # 注:高级封装 import sqlalchemy # 调用链接数据库 from sqlalchemy import create_engine # 调用基类Base fro ...

  5. sqlalchemy orm 操作 MySQL

    一.ORM介绍 orm英文全称object relational mapping,是对象映射关系程序,简单来说类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了 ...

  6. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM   本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM ...

  7. python之SQLAlchemy ORM 上

    前言: SQLAlchmey是暑假学的,当时学完后也没及时写博客整理下.这篇博客主要介绍下SQLAlchemy及基本操作,写完后有空做个堡垒机小项目.下篇博客整理写篇关于Web框架和django基础~ ...

  8. python之SQLAlchemy ORM

    前言: 这篇博客主要介绍下SQLAlchemy及基本操作,写完后有空做个堡垒机小项目.有兴趣可看下python之数据库(mysql)操作.下篇博客整理写篇关于Web框架和django基础~~ 一.OR ...

  9. python3 SQLAlchemy模块使用

    更详细的操作介绍:https://www.imooc.com/article/22343 定义: SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对 ...

随机推荐

  1. iTextSharp导出PDF模板(报告)

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;us ...

  2. 【JavaWeb】EL表达式&过滤器&监听器

    EL表达式和JSTL EL表达式 EL表达式概述 基本概念 EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其 ...

  3. 双击映射坚果云网盘并打开的AHK源代码

    双击映射坚果云网盘并打开的AHK源代码 #SingleInstance,force ;当此脚本已经运行时自动替换旧实例再次运行.#Persistent ;让脚本持久运行(即直到用户关闭或遇到 Exit ...

  4. Git基本理论---重点

    Git本地有三个工作区域: 工作目录(Working Directory): 存放项目代码 暂存区(Stage/Index) : 临时存放文件的改动,保存的是文件列表信息 资源库 (Repositor ...

  5. 数据结构算法学习之队列(数组模拟java实现)

    数组模拟队列 数组模拟队列 今天学习数组模拟队列.队列常用于生活中的方方面面.比如银行叫号排队.实际上就是队列.所有人抽号排队.先去的先抽号.所以靠前的号最后会先被叫到然后出队.后边的会随之往前移位. ...

  6. 洛谷P1377题解

    题面 首先他叫我们建一颗笛卡尔树,所以我们就建一颗笛卡尔树. 然后他说要生成序列中最小的.想到笛卡尔树的一条性质:左<根<右.但是根节点必须先插进去.他的两个儿子用贪心的思想就知道是先选左 ...

  7. web笔记随笔

    1.Web服务组件 8.第三方内容:广告统计.mockup 7.Web前端框架: HTML5. jQuery. Bootstrap 6.Web应用: CMS. BBS. Blog 5.Web开发框架: ...

  8. JAVA基础语法:函数(方法)、类和对象(转载)

    4.JAVA基础语法:函数(方法).类和对象 函数 在java中函数也称为方法,是一段具备某种功能的可重用代码块. 一个函数包括这几部分: 函数头 函数头包括函数访问修饰符,函数返回值类型, 函数名, ...

  9. 批量删除gmail邮件

    以删除tor.com发送的邮件为例说明. 首先点击邮件搜索框右边的三角,在"发件人"下面写上"tor.com": 点"搜索"按钮,看一下范围 ...

  10. Java 多线程与并发【原理第一部分笔记】

    Java 多线程与并发[原理第一部分笔记] Synchronized synchronized的基本含义以及使用方式 在Java中线程安全问题的主要诱因就是存在共享数据(也称为临界资源)以及存在多条线 ...