Python SqlAlchemy+pymysql + MariaDB简单使用
为什么使用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简单使用相关推荐
- Python SQLAlchemy入门教程
原文:https://www.cnblogs.com/ybjourney/p/11832045.html Python SQLAlchemy入门教程 一.介绍 关于ORM 为什么用sqlalchemy ...
- Python sqlalchemy 连接常用的数据库
python连接sqlServer数据库,Oracle数据库,MongoDB数据库,mysql数据库 python sqlalchemy 简介 学习链接 sqlalchemy是什么? sqlalche ...
- 【Python之pymysql库学习】一、分析fetchone()、fetchmany()、fetchall()(保姆级图文+实现代码)
目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 实现效果 实现思路 其 ...
- 【Python之pymysql库学习】二.游标cursor的相关知识(保姆级图文+实现代码)
目录 读取的数据类型 读取的数据转为字典类型效果 读取的数据转为字典类型实现思路 读取的数据转为字典类型实现代码 关于游标的重置 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新 ...
- 【Python之pymysql库学习】三.sql语句的相关知识(保姆级图文+实现代码)
目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 实现效果 把给读取数据 ...
- Python SQLAlchemy介绍
Python SQLAlchemy教程 一. 介绍 关于ORM 二. 使用 概念和数据类型 概念 常见数据类型 使用步骤 创建数据库表 1.安装 2. 创建连接 3. 创建数据库表类(模型) 4. 生 ...
- Python SQLAlchemy
一.写在前面 这篇文章主要介绍了Python的SQLAlchemy框架使用入门,SQLAlchemy框架是Python中用来操作数据库的ORM框架之一,学习过程中主要参考网上现有资料,整理成笔记以便后 ...
- Python进阶----pymysql模块的使用,单表查询
Python进阶----pymysql模块的使用,单表查询 一丶使用pymysql 1.下载pymysql包: pip3 install pymysql 2.编写代码 ...
- python之数据库的简单交互
看本文前首先 1.对python的类的简单应用,有所了解 2.会一点数据库的CRUD(就是增删改查) 首先使用MySQL,里面创建一个叫waterDB的数据库,在库里创建一个叫customer的表,表 ...
最新文章
- UVA 327 Evaluating Simple C Expressions
- Matlab字符串函数
- Golang 在阿里集团调度集群管理系统 Sigma 中的实践
- stocker模块量化交易分析
- Java线程:线程交互
- dynamic change date type to sap.ca.ui.model.type.Date in Debugger
- python随机生成数字列表_详解Python利用random生成一个列表内的随机数
- Web前端笔记-two.js图形旋转动画的2种实现方式
- linux支持ppp网卡,linux和安卓上(ppp widget)使用3g网卡的方法
- 视频会议、视频聊天、手机视频、跨平台视频如何开发之流程篇
- hql懒加载后判断对象是否存在_JPA数据懒加载LAZY和实时加载EAGER(二) - Mr.Simm - 博客园...
- 一些经久不衰的linux 视频教程列表
- WPS永久关闭热点、云服务、初始登陆界面
- 联想拯救者y7000p加内存条_联想Y7000p加装金百达内存条,内存条细节多图
- HBuilderX格式化css
- ACL 2017 录用论文整理(长文)
- 任泉自曝在Star VC年薪100万 今年重点投资互联网金融
- uni-app学习(九):computed
- 统计b站多p视频正在观看人数和弹幕的变化,制作折线图
- archlinux安装nvidia驱动
热门文章
- vue移动端下拉加载分页全面解决方案
- PDF 无法打印 Foxitsoftware Pdf Reader
- debian+linux百度云,Linux Centos/Ubuntu/Debian系统图形化界面挂BT、PT一键包(rtorrent+rutorrent)...
- cad lisp 界址点号_CAD如何自动加载lisp?
- 2021华为杯D题第四题完整代码
- 轻量级车牌检测开源项目(支持车牌四顶点定位、车牌矫正对齐)
- 支付相关的知识点(移动支付,银行支付,第三,四方支付)
- 期权基本交易策略(二)
- 从图片提取文字的终极解决方法 ——【通用文字识别 API】
- vue样式 引入图片_Vue引入图片的几种方式