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, 中文叫做对象关系映 ...
随机推荐
- 【终极】Dynamic Web Module 3.0 requires Java 1.6 or newer
今天在用maven+ssm做项目的时候,右键项目properities设置project facet,勾选dynamic WEB module时一直勾不上,网上找了很多教程都不行, 有说在pom.xm ...
- oracle登录时shared memory realm does not exist的解决方法
解决办法:1.用CMD进入命令行2.sqlplus /nolog 3.conn / as sysdba4.startup 然后用sqlplus进入命令
- MATLAB中的多项式运算
作者:长沙理工大学 交通运输工程学院 王航臣 1.多项式求根 在MATLAB中求取多项式的根用roots函数. 函数:roots 功能:一元高次方程求解. 语法:roots(c) 说明:返回一个列向量 ...
- linux看代码方法和建议
http://blog.csdn.net/lxl584685501/article/details/46803077
- java 文件下载支持中文名称
/** * 文件下载 * @param filePath 文件路径 * @param fileName 文件名称 */ public void download(String filePath,Str ...
- 常用的html标签大全
html标签大全 一.文字 1.标题文字 <h#>..........</h#> #=1~6:h1为最大字,h6为最小字 2.字体变化 <font>........ ...
- hdu1028
#include<stdio.h>#include<string.h>const int MAXN=130;int dp[MAXN][MAXN];//dp[i][j]表示 i ...
- uoj 55 紫荆花之恋 动态点分治+替罪羊式重构+treap
每插入一个点,直接把它当做重心插入原树,当做是动态点分树一样维护 但这样深度会越来越大,所以我们用类似替罪羊的方法 当树失去平衡时,对子树进行一次点分,保证复杂度 #include <cstdi ...
- jmeter之jtl文件解析
我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...
- 利用java实现抽奖转盘(着重安全控制)
本文是针对jquery 实现抽奖转盘作者的一个补充(主要用java去实现转盘结果生成及存储,解决jquery 做法 非法用户采用模拟器实现改变转盘值的风险性),针对jQuery的具体实现,请看案例:h ...