为什么使用SqlAlchemy?


SQLAlchemy 是一个功能强大的Python ORM 工具包。

什么是ORM?

ORM(Object Ralational Mapping,对象关系映射)用来把对象模型表示的对象映射到基于SQL 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQL 语句打交道,只需简单的操作实体对象的属性和方法。
简单说,ORM 大大提高了开发效率,更直观的进行数据库操作。

示例代码

文件 功能
models.py 数据库模型
create_table.py 创建表示例
insert_data.py 插入数据示例

models.py

from sqlalchemy.dialects.mysql import BIT
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, TIMESTAMP, text
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker# 生成一个SQLORM基类
Base = declarative_base()ENGINE = create_engine("mysql+pymysql://用户名:密码@服务器地址:端口号/数据库名?charset=utf8",max_overflow=5)
#绑定数据库的操作会话对象。
Session = sessionmaker(bind=ENGINE)session = Session()# 数据表对象
class RelayLog(Base):__tablename__ = 'relayLog'id = Column(Integer, primary_key=True)device_name = Column(String(4))device_cmd = Column(BIT)device_timestamp = Column(TIMESTAMP(True), nullable=False, server_default=text('CURRENT_TIMESTAMP'),onupdate=text('CURRENT_TIMESTAMP'))def __repr__(self):return "<Person(name='%s')>" % self.name

create_table.py

from models import Base,ENGINE
# 调用之前创建的基类的方法,创建RelayLog这个数据表
Base.metadata.create_all(ENGINE)

insert_data.py

from models import session, RelayLog
# 创建一个RelayLog,并添加到当前的session中
session.add(RelayLog(device_name='led', device_cmd=0))
# 提交到数据库
session.commit()

Done.

Python SqlAlchemy+pymysql + MariaDB简单使用相关推荐

  1. Python SQLAlchemy入门教程

    原文:https://www.cnblogs.com/ybjourney/p/11832045.html Python SQLAlchemy入门教程 一.介绍 关于ORM 为什么用sqlalchemy ...

  2. Python sqlalchemy 连接常用的数据库

    python连接sqlServer数据库,Oracle数据库,MongoDB数据库,mysql数据库 python sqlalchemy 简介 学习链接 sqlalchemy是什么? sqlalche ...

  3. 【Python之pymysql库学习】一、分析fetchone()、fetchmany()、fetchall()(保姆级图文+实现代码)

    目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 实现效果 实现思路 其 ...

  4. 【Python之pymysql库学习】二.游标cursor的相关知识(保姆级图文+实现代码)

    目录 读取的数据类型 读取的数据转为字典类型效果 读取的数据转为字典类型实现思路 读取的数据转为字典类型实现代码 关于游标的重置 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新 ...

  5. 【Python之pymysql库学习】三.sql语句的相关知识(保姆级图文+实现代码)

    目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 实现效果 把给读取数据 ...

  6. Python SQLAlchemy介绍

    Python SQLAlchemy教程 一. 介绍 关于ORM 二. 使用 概念和数据类型 概念 常见数据类型 使用步骤 创建数据库表 1.安装 2. 创建连接 3. 创建数据库表类(模型) 4. 生 ...

  7. Python SQLAlchemy

    一.写在前面 这篇文章主要介绍了Python的SQLAlchemy框架使用入门,SQLAlchemy框架是Python中用来操作数据库的ORM框架之一,学习过程中主要参考网上现有资料,整理成笔记以便后 ...

  8. Python进阶----pymysql模块的使用,单表查询

    Python进阶----pymysql模块的使用,单表查询 一丶使用pymysql ​   ​   1.下载pymysql包: pip3 install pymysql ​​   ​   2.编写代码 ...

  9. python之数据库的简单交互

    看本文前首先 1.对python的类的简单应用,有所了解 2.会一点数据库的CRUD(就是增删改查) 首先使用MySQL,里面创建一个叫waterDB的数据库,在库里创建一个叫customer的表,表 ...

最新文章

  1. UVA 327 Evaluating Simple C Expressions
  2. Matlab字符串函数
  3. Golang 在阿里集团调度集群管理系统 Sigma 中的实践
  4. stocker模块量化交易分析
  5. Java线程:线程交互
  6. dynamic change date type to sap.ca.ui.model.type.Date in Debugger
  7. python随机生成数字列表_详解Python利用random生成一个列表内的随机数
  8. Web前端笔记-two.js图形旋转动画的2种实现方式
  9. linux支持ppp网卡,linux和安卓上(ppp widget)使用3g网卡的方法
  10. 视频会议、视频聊天、手机视频、跨平台视频如何开发之流程篇
  11. hql懒加载后判断对象是否存在_JPA数据懒加载LAZY和实时加载EAGER(二) - Mr.Simm - 博客园...
  12. 一些经久不衰的linux 视频教程列表
  13. WPS永久关闭热点、云服务、初始登陆界面
  14. 联想拯救者y7000p加内存条_联想Y7000p加装金百达内存条,内存条细节多图
  15. HBuilderX格式化css
  16. ACL 2017 录用论文整理(长文)
  17. 任泉自曝在Star VC年薪100万 今年重点投资互联网金融
  18. uni-app学习(九):computed
  19. 统计b站多p视频正在观看人数和弹幕的变化,制作折线图
  20. archlinux安装nvidia驱动

热门文章

  1. vue移动端下拉加载分页全面解决方案
  2. PDF 无法打印 Foxitsoftware Pdf Reader
  3. debian+linux百度云,Linux Centos/Ubuntu/Debian系统图形化界面挂BT、PT一键包(rtorrent+rutorrent)...
  4. cad lisp 界址点号_CAD如何自动加载lisp?
  5. 2021华为杯D题第四题完整代码
  6. 轻量级车牌检测开源项目(支持车牌四顶点定位、车牌矫正对齐)
  7. 支付相关的知识点(移动支付,银行支付,第三,四方支付)
  8. 期权基本交易策略(二)
  9. 从图片提取文字的终极解决方法 ——【通用文字识别 API】
  10. vue样式 引入图片_Vue引入图片的几种方式