tornado连接数据库
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连接数据库相关推荐
- Tornado服务器连接数据库
环境 python3.6.1 vscode mysql navicat 安装需要的包 pip install torndb_for_python3 pip install pymysql==0.8.0 ...
- sae python连接mysql_SAE Tornado 应用连接并使用 Mysql
今天因为要提供几个开放的接口给我毕设相关的平台调用,所以又开始折腾之前在SAE上搭的Tornado应用. 之前记录过一个 如何在 SAE 上使用 Tornado,这次续上,关于在SAE里使用Torna ...
- tornado学习笔记day05-访问数据库
模板## 配置模板路径 这个在之前我们已经配置好了,可以参考前面的文章 settings = {# 就像upfile就没有,你写了也白扯'template_path': os.path.join(BA ...
- tornado SQLAlchemy
简介 tornado没有像Django那样提供了内建的ORM,需要使用第三方的SQLAlchemy来实现. ORM全称:Object Relational Mapping 对象关系映射 好处:通过OR ...
- peewee的使用与异步peewee-async在tornado中的使用总结
peewee是数据库ORM操作的第三方库. 文章目录 建表 保存数据 查询 更新和删除 tornado使用异步ORM库peewee-async 建表 from datetime import date ...
- python异步查询数据库_Python的Tornado框架实现异步非阻塞访问数据库的示例
tornado即是一个http非阻塞服务器, 就要用起来, 我们将用到tornado框架 ,mongodb数据库 以及motor(mongodb的异步驱动).来简单实现tornado的非阻塞功能. 其 ...
- sae mysql 跨应用授权_SAE Tornado 应用连接并使用 Mysql
今天因为要提供几个开放的接口给我毕设相关的平台调用,所以又开始折腾之前在SAE上搭的Tornado应用. 之前记录过一个 如何在 SAE 上使用 Tornado,这次续上,关于在SAE里使用Torna ...
- python tornado实战_python-web之tornado实战篇
一.网站的基本架构 1.MVC模式 MVC模式是一个非常好的软件架构模式,在网站开发中,也常常要求遵守这个模式. MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式 ...
- python问答社区BBS网络论坛社区平台系统源码Tornado
wx供重浩:创享日记 对话框发送:python社区 获取完整源码源文件+说明文档+配置教程等 授权模块 登陆 注册 注销 验证码 问题模块 问题列表 问题分页 问题创建 问题上传图片 问题删除 问题详 ...
最新文章
- Lua coroutine 不一样的多线程编程思路
- 细说Redis监控和告警
- Android学习笔记系列四2 —— Activity的生命周期
- 【剑指offer】面试题28:对称的二叉树(Java)
- 火狐浏览器怎么关闭自动更新 火狐浏览器关闭自动更新的方法
- 二维数组求最小值_求一列中满足条件的最大最小值
- PKU 3273 PKU 3258 pku 1905 PKU 3122 二分运用题目
- 新华三PRIMERA,开启存储新纪元
- vtp协议服务器配置,配置交换机VTP协议
- Python常用库汇总
- 家用无线路由器的选购技巧
- 执行 taro init myApp 报错 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\taro.ps1
- 史上最简单的 MySQL 教程(十二)「列属性 之 唯一键」
- 谣言止于“较真”,腾讯新闻推出微信新闻辟谣小程序
- vue的过渡动画(有vue的动画库和ui库的介绍)
- 如何可以快速创作思维导图?好用的mac思维导图软件推荐
- Hadoop的介绍以及发展历史
- Introduction to Fabric.js/ Part 8 - Clipping with clipPaths(介绍Fabric.js第八部分-剪裁)
- 区域卫生平台用户分析
- 油猴Tampermonkey及其脚本的安装
热门文章
- python测试udp端口_Linux系统的ECS实例中TCP/UDP端口测试及验证方法说明
- 基于java实现农产品_基于微信小程序的个人商铺(农产品)设计与实现毕业论文+开题报告+前后台源码(JavaSSM+Mysql)+文献资料...
- 图像分类算法_图像分类算法优化技巧:Bag of Tricks for Image Classification
- IDEA 每次运行项目时都提示源值1.5已过时,将在未来所有版本中删除
- c#基础,单线程,跨线程访问和线程带参数
- 设置npm的registry
- WPF Template模版之DataTemplate与ControlTemplate的关系和应用【二】
- linux学习笔记-不定时更新
- The Security Learning
- 面向对象与面向过程在软件开发中的应用