1. import sqlalchemy
  2. from sqlalchemy import create_engine
  3. from sqlalchemy.ext.declarative import declarative_base
  4. from sqlalchemy import Column, Integer, String
  5. from sqlalchemy.orm import sessionmaker
  6.  
  7. engine = create_engine('sqlite:///Plan.db', encoding='utf-8')
  8.  
  9. Base = declarative_base() # 生成orm基类
  10.  
  11. class User(Base):
  12. __tablename__ = 'user' # 表名
  13. id = Column(Integer, primary_key=True)
  14. name = Column(String(32))
  15. password = Column(String(64))
  16.  
  17. Base.metadata.create_all(engine) # 创建表结构
  18.  
  19. Session_class = sessionmaker(bind=engine) # 创建与数据库的会话session class ,注意,这里返回给session的是个class,不是实例
  20. Session = Session_class() # 生成session实例
  21.  
  22. # 基础结束
  23.  
  24. # 插入开始
  25. user_obj = User(name="alex", password="alex3714") # 生成你要创建的数据对象
  26. print(user_obj.name, user_obj.id) # 此时还没创建对象呢,不信你打印一下id发现还是None
  27.  
  28. Session.add(user_obj) # 把要创建的数据对象添加到这个session里, 一会统一创建
  29. print(user_obj.name, user_obj.id) # 此时也依然还没创建
  30.  
  31. Session.commit() # 现此才统一提交,创建数据
  32. # 插入结束
  33.  
  34. # 查询开始
  35. my_user = Session.query(User).filter_by(name="alex").first()
  36. print(my_user)
  37. print(my_user.id, my_user.name, my_user.password)
  38. # 查询结束
  39.  
  40. # 修改开始
  41. my_user = Session.query(User).filter_by(name="alex").first()
  42.  
  43. my_user.name = "Alex Li"
  44.  
  45. Session.commit()
  46. # 修改技术
  47.  
  48. # 多条件查询
  49. objs = Session.query(User).filter(User.id > 0).filter(User.id < 7).all()
  50. # 多条件查询
  51.  
  52. # 统计
  53. Session.query(User).filter(User.name.like("Ra%")).count()
  54. # 统计
  55.  
  56. # 分组
  57. from sqlalchemy import func
  58.  
  59. print(Session.query(func.count(User.name), User.name).group_by(User.name).all())
  60. # 分组

Python sqlalchemy使用的更多相关文章

  1. python SQLAlchemy

    这里我们记录几个python SQLAlchemy的使用例子: 如何对一个字段进行自增操作 user = session.query(User).with_lockmode('update').get ...

  2. Python SQLAlchemy --3

    本文為 Python SQLAlchemy ORM 一系列教學文: 刪除 學會如何查詢之後,就能夠進行後續的刪除.更新等操作. 同樣地,以幾個範例做為學習的捷徑. 123456789 user_1 = ...

  3. Python SQLAlchemy --2

    本文為 Python SQLAlchemy ORM 一系列教學文: 接下來會更深入地探討查詢的使用. 查詢的基本使用法為 session.query(Mapped Class),其後可加 .group ...

  4. Python SQLAlchemy --1

    本文為 Python SQLAlchemy ORM 一系列教學文: SQLAlchemy 大概是目前 Python 最完整的資料庫操作的套件了,不過最令人垢病的是它的文件真的很難閱讀,如果不搭配個實例 ...

  5. Python SqlAlchemy使用方法

    1.初始化连接 from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine = create ...

  6. python+SQLAlchemy+爬虫

    python+SQLAlchemy+爬虫 前面分享了SQLAlchemy的知识,这次我共享一下学习用python开发爬虫再把爬出来的数据放到用SQLAlchemy的数据库上面的知识,当然我这个是带测试 ...

  7. Python.SQLAlchemy.0

    1. SQLAlchemy and You http://lucumr.pocoo.org/2011/7/19/sqlachemy-and-you/ 2. Overview http://docs.s ...

  8. Python SQLAlchemy基本操作和常用技巧包含大量实例,非常好python

    http://www.makaidong.com/%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6/28053.shtml "Python SQLAlchemy基本操 ...

  9. Python SQLAlchemy入门教程

    本文将以Mysql举例,介绍sqlalchemy的基本用法.其中,Python版本为2.7,sqlalchemy版本为1.1.6. 一. 介绍 SQLAlchemy是Python中最有名的ORM工具. ...

  10. Python—sqlalchemy

    SQLAlchemy SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作. #Dialect用于和数据API进行交流,根据配置文 ...

随机推荐

  1. 基于bootstrap的后台管理系统

    ace metro'nic 基于bootstrap的后台admin system ace [eis], 扑克牌中的A 表示 非常棒, 杰出, 顶好的... gallery: 画廊, 走廊; 在网页中常 ...

  2. POJ 3468 A Simple Problem with Integers(线段树&区间更新)题解

    Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. On ...

  3. Linux下替换默认版本的protobuf

    1. 下载 下载地址,我下载的是protobuf-all-3.5.0.tar.gz,尽量下载all,里面包含protobuf库的所有文件. 2. 编译 ./configure make make in ...

  4. Nlog、elasticsearch、Kibana以及logstash在项目中的应用(二)

    上一篇说如何搭建elk的环境(不清楚的可以看我的上一篇博客http://www.cnblogs.com/never-give-up-1015/p/5715904.html),现在来说一下如何用Nlog ...

  5. 使用wsHttpBinding构建Message安全模式和UserName授权

    http://www.cnblogs.com/artech/archive/2011/05/22/authentication_01.html https://www.cnblogs.com/Fran ...

  6. zeptojs库解读3之ajax模块

    对于ajax,三步骤,第一,创建xhr对象:第二,发送请求:第三,处理响应. 但在编写过程中,实际中会碰到以下问题, 1.超时 2.跨域 3.后退 解决方法: 1.超时 设置定时器,规定的时间内未返回 ...

  7. React Native基础概念和基础认识

    学习地址:https://github.com/vczero/react-native-lesson 当我们初始化一个RN项目的时候主要的是index.ios.js文件和index.android.j ...

  8. -bash: brew: command not found

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ...

  9. MVC修改视图的默认路径

    概述:之前MVC5和之前的版本中,我们要想对View文件的路径进行控制的话,则必须要对IViewEngine接口的FindPartialView或FindView方法进行重写,所有的视图引擎都继承于该 ...

  10. Qt5.3.2openglVS2010_QSqlField_字段类型

    1.本来想通过 QSqlField::typeID() 来找字段类型,但是没找到... 然而看到了 SQL_INTEGER.SQL_SMALLINT等的使用(在“static QVariant::Ty ...