第二篇:操纵MySQL数据库(2) - 基于ORM思想的SQLAlchemy库
前言
本文讲解在Python语言中使用SQLAlchemy库操纵MySQL数据库的方法。
由于具体内容涉及较多,本文仅以插入及展示数据为例,更多内容请查阅有关文档。
ORM
ORM也即对象 - 关系映射。
在前文中,操纵的对象针对数据库中的关系表。而ORM机制能让你的处理对象由这些表转换成Python中的表对象。
这样的机制意义不小,它能让你在不了解SQL语句的条件下使用数据库。
准备工作
1. 安装Python和MySQL;
2. 安装SQLAlchemy。("easy_install sqlalchemy"即可)。
总体步骤
1. 创建一个数据库;
2. 导入SQLAlchemy库相关内容 (详见下面代码展示部分);
3. 定义表对象结构;
4. 建立数据库连接引擎;
5. 基于 4 中创建的引擎创建一个会话类型;
6. 定义会话对象;
7. 定义并初始化表对象;
8. 插入表对象;
9. 关闭会话。
代码示例
1 # -*- coding: utf-8 -*- 2 # ================================================ 3 # 作者: 方萌 4 # 创建时间: 20**/**/** 5 # 版本号: 1.0 6 # 联系方式: 1505033833@qq.com 7 # ================================================ 8 # sqlalchemy 相关模块 9 from sqlalchemy import Column, String, INT, create_engine 10 from sqlalchemy.orm import sessionmaker 11 from sqlalchemy.ext.declarative import declarative_base 12 # 表对象的基类: 13 Base = declarative_base() 14 # 定义User表对象 15 class User(Base): 16 # 表名: 17 __tablename__ = 'testTable' 18 # 表的结构: 19 name = Column(String(20), primary_key=True) 20 age = Column(INT) 21 # 建立数据库连接引擎 22 engine = create_engine('mysql+mysqlconnector://root:123456@localhost:3306/testDB') 23 # 创建DBSession类型 24 DBSession = sessionmaker(bind=engine) 25 # 创建session对象 26 session = DBSession() 27 # 创建新User对象 28 new_user = User(name='方萌ORM', age='25') 29 # 添加到session 30 session.add(new_user) 31 # 提交即保存到数据库 32 session.commit() 33 # 关闭session 34 session.close()
运行结果
小结
基于ORM机制的库还有很多,可根据实际需要进行选择。
本文旨在讲述ORM的思想以及展示基本使用套路。更多高级的用法(如创建表,创建外键关系等)请查阅相关文档。
转载于:https://www.cnblogs.com/muchen/p/6882589.html
第二篇:操纵MySQL数据库(2) - 基于ORM思想的SQLAlchemy库相关推荐
- 第二篇:MySQL之InnoDB物理存储结构
第二篇:MySQL中InnoDB引擎的物理存储结构 1. 个人理解 看了很多MySQL的书籍和博客,感觉都是互相抄来抄去,把知识点的罗列,讲不清楚前因后果,让人看起来莫名其妙的.所以,我决定从MySQ ...
- mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...
MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...
- 第二十三章 MySQL数据库 手册2 SQL语句
第二十三章 MySQL数据库 手册2 SQL语句 实验二:用SQL语句,管理数据库 `危险命令,delete 后不加 where 条件代表删除所有数据 delete.` `更加危险的删除命令trunc ...
- MySQL数据库应用形考_2020国开中优教育《MySQL数据库应用》形考任务题库
2020国开中优教育<MySQL数据库应用>形考任务题库 1.以下哪个不属于"汽车用品网上商城"的实体( ) 用户 用户类别 汽车配件 用户编号 正确答案 2.URT ...
- Java连接并操纵MySQL数据库的全过程
文章目录 一.安装MySQL 二.Navicat连接MySQL 三.Java连接MySQL (一).使用 JDBC 连接 MySQL 数据库. 1. 下载驱动包 2.解压 3.在IDEA中导入jar包 ...
- 创建用户赋权限_MySQL实战第84篇:MySQL数据库添加用户和赋权限,在8.0版本!
欢迎来到MySQL实战第84篇,修炼MySQL,让我们更加的自信! [查看数据库] [使用mysql数据库] [创建新用户:mytest,密码111222] create user mytest id ...
- c access mysql数据库_基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo)...
基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo) 一.三种数据库的主要对比 数据库类型 特点 Microsoft Access 桌面数据库.数据库载体是单个文件 ...
- (19)一篇掌握MySQL数据库基础下 基本操作(外键约束、建表原则、多表查询、子查询)
MySQL数据库基础下 一.修改表--添加外键约束 二.多表之间的建表原则 1.建数据库原则:通常情况下,一个项目/应用建一个数据库 2.多表之间的表原则: (1)一对多:分类和商品 (一个分类对应多 ...
- 【mysql篇】mysql数据库知识点(四种语言)
mysql数据库语言分为四种DDL,DQL,DML,DCL下面我们一一介绍: 注:(上图取自黑马程序员的课程APP中,这些笔记也是看了黑马程序员的课程之后做的): 一, DDL(data ...
最新文章
- 宣传推广费用_企业如何做好网络推广,提高网络推广的转化率?
- 苹果M1用着舒服的原因找到了,英特尔:学到了,下次我也用
- 定期清空Linux系统日志文件
- 如何替公司省下数千万勒索费用
- 车载安卓中控改鸿蒙,教你改装车子中控安卓大屏,看一遍你就会了,改完后低配秒变高配...
- 一文带你全面认识Excel催化剂系列功能
- 深入css布局 (1) — 盒模型 元素分类
- uva 11491——Erasing and Winning
- android自定义图片+文字控件四种实现方法,Android自定义“图片+文字”控件四种实现方法之 二--------个人最推荐的一种...
- 一加9R将推12+256GB新版本:骁龙870+120Hz高刷屏
- 2017.11.24
- cmos和ttl_TTL与CMOS电路怎么区分
- 屏幕录像专家录制超清视频教程如何解决转码后不清晰问题
- Linux网卡bond
- 在kindle上阅读网络小说的正确方法——Kindle网文助手
- azul zing_Azul Systems CTO讨论Lambda并提高Java社区的投入
- 一个excel版进度管理软件的需求
- 一个已经转行一年的程序员的感受
- 股票北向资金数据接口在哪里?
- Zynga欲收购风靡全球的画画猜字游戏Draw Something
热门文章
- Apache Sentry 第一弹:Server启动、连接Hue、分组详解
- 图形图像处理,CAD控件Simulation and Verification提供模拟机器的工具运转机床和车床材料的搬运控件...
- esx4克隆后的处理工作
- 蓝桥杯 ADV-193算法提高 盾神与条状项链
- java如何等待异步结果_如何等待异步方法完成?
- python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法
- 圆柱与平面接触宽度_圆柱滚子轴承保持架锁爪变形引起的轴承故障
- lsof查找放进linux回收站中的删除文件,并彻底删除或恢复文件
- linux中开启snmp协议
- zabbix3.0 监控mysql服务器性能实现过程