SQLAlchemy入门
什么是SQLAlchemy?
是Python连接SQL数据库的一种方式,需要通过驱动来连接。
是Python中使用最广泛的ORM(对象关系映射)工具之一,即把数据库中的二维表结构映射成一个list对象,list对象的每一个元素是一个tuple,例如:
| id | name |
| 1 | 'Michael' |
| 2 | 'Bob' |
| 3 | 'Adam' |
[
==> ('1', 'Michael'),
('2', 'Bob'),
('3', 'Adam')
]
为什么要使用SQLAlchemy?
可以通过对象来操作数据库,避免了麻烦的sql语句
如何使用SQLAlchemy连接MySQL数据库?
1 定义映射关系
2 连接到数据库
3 通过对象操作数据库
# 导入:
from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base # 创建对象的基类:
Base = declarative_base() # 定义User对象: 可以定义多个类
class User(Base):
# 表的名字:
__tablename__ = 'user' # 表的结构:
id = Column(Integer, primary_key=True)
name = Column(String(20))
# 初始化数据库连接:
engine = create_engine('mysql+mysqlconnector://root:yourpassword@localhost:3306/test')
# 连接信息: '数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'
# 这里是用 mysql.connector驱动(pip install mysql),
# Python3可以使用pymysql驱动 'mysql+pymysql://......'
# 只能连接到已经存在的数据库,不能新建
# 自动创建表
Base.metadata.create_all(engine) # 创建DBSession类型:
DBSession = sessionmaker(bind=engine)
# 操作数据库(增删改查)
session = DBSession()
session对象可以通过三种方式操作数据库:
A 通过实例对象 session.add(User(id=3, name='zoro')) 、 delete、 ...
B 原生SQL语句 session.execute('select * from user where id=%d' % 3)
C 通过SQL表达式
session.execute('SELECT * FROM user WHERE id=?', {'param': 5})
new_user = User(id='', name='Bob')
session.add(new_user)
session.commit()
session.close()
SQLAlchemy入门的更多相关文章
- (转)SQLAlchemy入门和进阶
URL:https://zhuanlan.zhihu.com/p/27400862 https://www.cnblogs.com/mrchige/p/6389588.html---SQLAlchem ...
- sqlalchemy入门记录
前言 发现翻译全文时间比较久,所以先整个简单的使用说明吧 安装SQLAlchemy pip install sqlalchemy 查看SQLAlchemy版本 In [1]: import sqlal ...
- Python SQLAlchemy入门教程
本文将以Mysql举例,介绍sqlalchemy的基本用法.其中,Python版本为2.7,sqlalchemy版本为1.1.6. 一. 介绍 SQLAlchemy是Python中最有名的ORM工具. ...
- sqlalchemy 入门
ORM技术:Object-Relational Mapping,把关系数据库的表结构映射到对象上. 在Python中,最有名的ORM框架是SQLAlchemy. # 导入: from sqlalche ...
- 后端API入门到放弃指北
后端API入门学习指北 了解一下一下概念. RESTful API标准] 所有的API都遵循[RESTful API标准]. 建议大家都简单了解一下HTTP协议和RESTful API相关资料. 阮一 ...
- python ORM - sqlalchemy 操作使用
python操作数据库 使用 ORM - sqlalchemy,pymsql 安装: pip install pymsq pip install sqlalchemy 一. '''连接数据库''' ...
- SQlALchemy session详解
系列文章: Python SQLAlchemy入门教程 概念 session用于创建程序和数据库之间的会话,所有对象的载入和保存都需通过session对象 . 通过sessionmaker调用创建一个 ...
- SQLAlchemy 教程 —— 基础入门篇
SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLA ...
- SQLAlchemy 快速入门、基础知识
SQLAlchemy 是Python 编程语言下的一款开源软件.提供了SQL工具包及对象关系映射(ORM)工具. ORM, 全称Object Relational Mapping, 中文叫做对象关系映 ...
随机推荐
- javascript提高篇+吐槽
开篇吐槽 最近一直在投简历找工作,对于博主这样的屌丝应届生来说,一没过硬的技术,二没经验,三没高学历,四没炫酷的项目,五还没漂亮的简历,简直就是3无产品+2b青年.所以快1个月了投的简历没有收到一个面 ...
- Time_wait问题小结
TIME_WAIT的产生原因 因为TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭.先发FIN包的一方执行的是主动关闭:后发FIN包的一方执行的是被动关闭.主动关闭的一方会进入TIME ...
- ViewCompat.animate(view) floatEval.evaluate() argbEval.evaluate()
ViewCompat.animate(ivHead) .translationX(60)// .setInterpolator(new CycleInterpolator(4))//循环执行// .s ...
- url截取
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- List去重
因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List<string> li1 = new List<string> { "8&quo ...
- 如何写兼容浏览器和Node.js环境的Javascript代码
如果有打开过jQuery的源码(从1.11及以后),或者Vue.js.React.js的源码,都会在文件的前面看见这样一段代码: ( function( global, factory ) { &qu ...
- python 数据聚合与分组
前面讲完了字符处理,但对数据进行整体性的聚合运算以及分组操作也是数据分析的重要内容. 通过数据的聚合与分组,我们能更容易的发现隐藏在数据中的规律. 数据分组 数据的分组核心思想是:拆分-组织-合并 首 ...
- MiniMetro Items
圈代表居民区三角写字楼等工作区方块是商业区钻石是金融中心五角星是政府 十字是医院 扁扁的旅游景区
- MATLAB的符号运算基础
在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算:如果运算结果为表达式,在MATLAB中称为符号运算,符号计算是对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLA ...
- 职责链模式(Chain of Responsibility)(对象行为型)
1.概述 你去政府部门求人办事过吗?有时候你会遇到过官员踢球推责,你的问题在我这里能解决就解决,不能解决就推卸给另外个一个部门(对象).至于到底谁来解决这个问题呢?政府部门就是为了可以避免屁民的请求与 ...