Python DB API规范
image.png

这个规范给我们提供来数据库对象连接,对象交互和异常处理的方式,为各种DBMS提供来统一的访问接口。

使用Python对DBMS进行操作

需要经过下面的步骤:

  1. 引入API模块;
  2. 与数据库建立连接;
  3. 执行SQL语句;
  4. 关闭数据库连接;
# -*- coding: UTF-8 -*-
import mysql.connector
# 打开数据库连接
db = mysql.connector.connect(
       host="localhost",
       user="root",
       passwd="XXX", # 写上你的数据库密码
       database='wucai', 
       auth_plugin='mysql_native_password'
)
# 获取操作游标 
cursor = db.cursor()
# 执行SQL语句
cursor.execute("SELECT VERSION()")
# 获取一条数据
data = cursor.fetchone()
print("MySQL版本: %s " % data)
# 关闭游标&数据库连接
cursor.close()
db.close()

对数据库的当前连接操作:

  • 通过指定host,user,passwd和port等参数来创建数据库连接;
  • 使用db.close()关闭数据库连接;
  • 使用db.cursor()创建游标,操作数据库中的数据;
  • 使用db.begin()开启事务;
  • 使用db.commit()和db.rollback(),对事务进行提交和回滚;

通过cursor = db.cursor()创建游标后,可以对数据库中的数据进行操作:

  • 使用cursor.execute(query_sql),执行数据库查询;
  • 使用cursor.fetchone(),读取数据集中的一条数据;
  • 使用cursor.fetchall(),取出数据集中的所有行,返回一个元组类型数据;
  • 使用cursor.fetchmany(),取出数据集中的多条数据,返回一个元组类型数据;
  • 使用cursor.rowcount,返回查询结果集中的行数。如果没有查询到数据或者还没有查询,结果为-1;
  • 使用cursor.close(),关闭游标
import traceback
try:
sql = "INSERT INTO player (team_id, player_name, height) VALUES (%s, %s, %s)"
val = (1003, "约翰-科林斯", 2.08)
cursor.execute(sql, val)
db.commit()
print(cursor.rowcount, "记录插入成功。")
except Exception as e:
# 打印异常信息
traceback.print_exc()
# 回滚  
db.rollback()
finally:
# 关闭数据库连接
db.close()
ORM框架

ORM的英文是Object Relation Mapping,中文叫做对象关系映射。采用ORM,可以从数据库的设计层面转化成面向对象的思维。

image.png

三种主流的ORM框架:

  • Django,它是Python的WEB应用开发框架。Django采用了MTV的框架模式,包括Model(模型),View(视图),Template(模版)。Model模型只是Django的一部分,可以通过它来实现数据库的增删改查;
  • SQLALchemy,它提供了SQL工具包以及ORM工具,支持ORM和原生SQL两种方式;
  • peewee,一个轻量型的ORM框架,简单易用。peewee采用了Model类,Field实例和Model实例来与数据库建立映射关系。

文章来源于互联网:使用python操作Mysql

发表评论