ORM

对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 。从效果上说,它其实是创建了一个可在编程语言里使用的–“虚拟对象数据库”。

通过 ORM 可以不用关心后台是使用的哪种数据库,只需要按照 ORM 所提供的语法规则去书写相应的代码, ORM 就会自动的转换成对应对应数据库的 SQL 语句

SQLAlchemy连接数据库

安装: mysql
安装python包: pymysql、sqlalchemy

pip install -i https://pypi.douban.com/simple pymysql
pip install -i https://pypi.douban.com/simple sqlalchemy

在项目新建models

db.py 是一些配置信息
auth.py 是定义表字段

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 数据库数据
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'tornado'
USERNAME = 'admin'
PASSWORD ='Root110qwe'
# 数据连接 URL
DB_url = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOST,PORT,DATABASE)
# 连接数据库
engine = create_engine(DB_url)
BSAE = declarative_base(engine)
# 创建会话 用于数据(增删查改)
Session = sessionmaker(bind=engine)
# 测试
if __name__ == '__main__':connection = engine.connect()result= connection.execute('select 1')print(result.fetchone())

from datetime import datetime
from sqlalchemy import Column, Integer, String, DateTime
from models.db import BSAE
# 类来表示数据库里面的表
class User(BSAE):__tablename__ = 'user'id = Column(Integer,primary_key=True,autoincrement=True)username = Column(String(20),nullable=False)password = Column(String(50))creatime = Column(DateTime,default=datetime.now)
if __name__ == '__main__':# 创建好的 Module 映射到数据库中BSAE.metadata.create_all()

数据增删查改

需要建立会话

from sqlalchemy.orm import sessionmaker
Session = sessionmaker(engine)
session = Session()

这个我使用ipython中进行练习

注意路径

add 是添加一条数据, add_all 添加多条数据

person = User(username='buodng', password='qwe123')
s.add(person)
s.commit()

rows = session.query(User).all()
rows = session.query(User).first()

query 就是查询的意思,在 SQLAlchemy 中也用来查询数据

all 是查询所有的意思
first 是查询第一条数据

update

rows = session.query(User).filter(User.username=='budong').update({User.password:1})
session.commit()

delete

rows = session.query(User).filter(User.username=='budong')[0]
print(rows)
session.delete(rows)
session.commit()

tornado连接数据库相关推荐

  1. Tornado服务器连接数据库

    环境 python3.6.1 vscode mysql navicat 安装需要的包 pip install torndb_for_python3 pip install pymysql==0.8.0 ...

  2. sae python连接mysql_SAE Tornado 应用连接并使用 Mysql

    今天因为要提供几个开放的接口给我毕设相关的平台调用,所以又开始折腾之前在SAE上搭的Tornado应用. 之前记录过一个 如何在 SAE 上使用 Tornado,这次续上,关于在SAE里使用Torna ...

  3. tornado学习笔记day05-访问数据库

    模板## 配置模板路径 这个在之前我们已经配置好了,可以参考前面的文章 settings = {# 就像upfile就没有,你写了也白扯'template_path': os.path.join(BA ...

  4. tornado SQLAlchemy

    简介 tornado没有像Django那样提供了内建的ORM,需要使用第三方的SQLAlchemy来实现. ORM全称:Object Relational Mapping 对象关系映射 好处:通过OR ...

  5. peewee的使用与异步peewee-async在tornado中的使用总结

    peewee是数据库ORM操作的第三方库. 文章目录 建表 保存数据 查询 更新和删除 tornado使用异步ORM库peewee-async 建表 from datetime import date ...

  6. python异步查询数据库_Python的Tornado框架实现异步非阻塞访问数据库的示例

    tornado即是一个http非阻塞服务器, 就要用起来, 我们将用到tornado框架 ,mongodb数据库 以及motor(mongodb的异步驱动).来简单实现tornado的非阻塞功能. 其 ...

  7. sae mysql 跨应用授权_SAE Tornado 应用连接并使用 Mysql

    今天因为要提供几个开放的接口给我毕设相关的平台调用,所以又开始折腾之前在SAE上搭的Tornado应用. 之前记录过一个 如何在 SAE 上使用 Tornado,这次续上,关于在SAE里使用Torna ...

  8. python tornado实战_python-web之tornado实战篇

    一.网站的基本架构 1.MVC模式 MVC模式是一个非常好的软件架构模式,在网站开发中,也常常要求遵守这个模式. MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式 ...

  9. python问答社区BBS网络论坛社区平台系统源码Tornado

    wx供重浩:创享日记 对话框发送:python社区 获取完整源码源文件+说明文档+配置教程等 授权模块 登陆 注册 注销 验证码 问题模块 问题列表 问题分页 问题创建 问题上传图片 问题删除 问题详 ...

最新文章

  1. Lua coroutine 不一样的多线程编程思路
  2. 细说Redis监控和告警
  3. Android学习笔记系列四2 —— Activity的生命周期
  4. 【剑指offer】面试题28:对称的二叉树(Java)
  5. 火狐浏览器怎么关闭自动更新 火狐浏览器关闭自动更新的方法
  6. 二维数组求最小值_求一列中满足条件的最大最小值
  7. PKU 3273  PKU 3258  pku 1905 PKU 3122 二分运用题目
  8. 新华三PRIMERA,开启存储新纪元
  9. vtp协议服务器配置,配置交换机VTP协议
  10. Python常用库汇总
  11. 家用无线路由器的选购技巧
  12. 执行 taro init myApp 报错 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\taro.ps1
  13. 史上最简单的 MySQL 教程(十二)「列属性 之 唯一键」
  14. 谣言止于“较真”,腾讯新闻推出微信新闻辟谣小程序
  15. vue的过渡动画(有vue的动画库和ui库的介绍)
  16. 如何可以快速创作思维导图?好用的mac思维导图软件推荐
  17. Hadoop的介绍以及发展历史
  18. Introduction to Fabric.js/ Part 8 - Clipping with clipPaths(介绍Fabric.js第八部分-剪裁)
  19. 区域卫生平台用户分析
  20. 油猴Tampermonkey及其脚本的安装

热门文章

  1. python测试udp端口_Linux系统的ECS实例中TCP/UDP端口测试及验证方法说明
  2. 基于java实现农产品_基于微信小程序的个人商铺(农产品)设计与实现毕业论文+开题报告+前后台源码(JavaSSM+Mysql)+文献资料...
  3. 图像分类算法_图像分类算法优化技巧:Bag of Tricks for Image Classification
  4. IDEA 每次运行项目时都提示源值1.5已过时,将在未来所有版本中删除
  5. c#基础,单线程,跨线程访问和线程带参数
  6. 设置npm的registry
  7. WPF Template模版之DataTemplate与ControlTemplate的关系和应用【二】
  8. linux学习笔记-不定时更新
  9. The Security Learning
  10. 面向对象与面向过程在软件开发中的应用