什么是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入门的更多相关文章

  1. (转)SQLAlchemy入门和进阶

    URL:https://zhuanlan.zhihu.com/p/27400862 https://www.cnblogs.com/mrchige/p/6389588.html---SQLAlchem ...

  2. sqlalchemy入门记录

    前言 发现翻译全文时间比较久,所以先整个简单的使用说明吧 安装SQLAlchemy pip install sqlalchemy 查看SQLAlchemy版本 In [1]: import sqlal ...

  3. Python SQLAlchemy入门教程

    本文将以Mysql举例,介绍sqlalchemy的基本用法.其中,Python版本为2.7,sqlalchemy版本为1.1.6. 一. 介绍 SQLAlchemy是Python中最有名的ORM工具. ...

  4. sqlalchemy 入门

    ORM技术:Object-Relational Mapping,把关系数据库的表结构映射到对象上. 在Python中,最有名的ORM框架是SQLAlchemy. # 导入: from sqlalche ...

  5. 后端API入门到放弃指北

    后端API入门学习指北 了解一下一下概念. RESTful API标准] 所有的API都遵循[RESTful API标准]. 建议大家都简单了解一下HTTP协议和RESTful API相关资料. 阮一 ...

  6. python ORM - sqlalchemy 操作使用

    python操作数据库 使用 ORM - sqlalchemy,pymsql 安装: pip install pymsq pip install sqlalchemy 一. '''连接数据库'''   ...

  7. SQlALchemy session详解

    系列文章: Python SQLAlchemy入门教程 概念 session用于创建程序和数据库之间的会话,所有对象的载入和保存都需通过session对象 . 通过sessionmaker调用创建一个 ...

  8. SQLAlchemy 教程 —— 基础入门篇

    SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLA ...

  9. SQLAlchemy 快速入门、基础知识

    SQLAlchemy 是Python 编程语言下的一款开源软件.提供了SQL工具包及对象关系映射(ORM)工具. ORM, 全称Object Relational Mapping, 中文叫做对象关系映 ...

随机推荐

  1. 使用 EasyUI 创建左侧导航菜单

    使用 JQuery EasyUI 创建左侧导航菜单,菜单的数据由后台服务提供. 效果图 HTML 元素 <div id="menuAccordion"></div ...

  2. [avalon]data-repeat-rendered循环渲染完毕后的回调函数

    有些时候需要在渲染完毕后,引用其他类似JQ插件的初始化工作.这时候需要使用data-repeat-rendered的回调函数. 应用场景: 在metro-start界面下,需要给每个tile引用cli ...

  3. SQL Server 2016 的「動態資料遮罩 (Dynamic Data Masking)」

    一些特別注重資訊安全.個人資料的公司或產業 (如: 金融.保險業),通常「測試用資料庫」的資料,會加上「遮蔽:去識別化」的功能,避免個資外洩.以往必須自己撰寫 SQL 語句或 Stored Proce ...

  4. java初学者

    决心开始从头学习java,并且每天记录自己的学习进度与学习成果,用于分享和促进. 鉴于是新手,并且之前也没有任何发文的经历,可能更多的是根据自己已有的知识容量基础之上进行的深化,太基础的看一遍就能会的 ...

  5. DW,DM,ODS的区别

    数据仓库的重要应用是将不同来源的数据和异构数据通过ETL整合在一起,为决策分析提供支撑,若在同一个数据库中分不同用户,此意义不大:假设所有有用户都在一个数据库里,如果因为某个原因数据库重启,那么会影响 ...

  6. 模仿jQuery的filter方法

    对这类方法挺感兴趣的,因为方法的回调函数的返回值和jQuery变量好像没有什么关系.看了filter方法的源代码后,我就模仿了这个方法,自定义两个jQuery方法:some和every,类似于ES5新 ...

  7. [日记&做题记录]-Noip2016提高组复赛 倒数十天

    写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛 ...

  8. GTK+2.0学习——C指针回顾

    工作需要,开始做GTK,但是很久没碰C了,来捡一下C的精华. 一.*和&的意义 *:指针运算符 &:取地址运算符 两者优先级一样,从右向左方向结合 二.指针和指针变量 指针:一个变量的 ...

  9. configure HDFS(hadoop 分布式文件系统) high available

    注:来自尚学堂小陈老师上课笔记 1.安装启动zookeeper a)上传解压zookeeper包 b)cp zoo_sample.cfg zoo.cfg修改zoo.cfg文件 c)dataDir=/o ...

  10. Extjs控件属性

    Ext.form.TimeField: 配置项:            maxValue:列表中允许的最大时间            maxText:当时间大于最大值时的错误提示信息          ...