Python使用pymysql和sqlalchemy访问MySQL的区别

这篇具有很好参考价值的文章主要介绍了Python使用pymysql和sqlalchemy访问MySQL的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python使用pymysql和sqlalchemy访问MySQL的区别

1. 两个数据库连接工具的对比

pymysql和sqlalchemy是两个Python中经常用于与MySQL数据库交互的库。都可以连接MySQL数据库,但它们有明显的区别。

(1)特点

pymysql是一个Python模块,它可以用作一个独立的Python文件或作为Python程序中的一个模块。安装pymysql之后,需要导入它并连接到一个MySQL数据库,以开始与之交互。
sqlalchemy是一个Python库和一个ORM(对象关系映射器)。通过SQLAlchemy,可以将Python对象映射到MySQL数据库表中。这种方法可以使MySQL与Python代码的交互更直观和更简单。
SQLAlchemy的优点:
减少SQL语句的使用,使代码、模型更加直观、清晰;
性能损耗小;设计灵活;可移植性强;

(2)区别

pymysql已经足够适合连接到MySQL数据库并执行基本的SQL查询和命令,而sqlalchemy提供了更多的功能。

sqlalchemy包括ORM,它负责数据转换和类型处理。sqlalchemy ORM使用Python类来表示数据库表,这使得查询和数据处理变得无比容易。此外,sqlalchemy还支持高级查询和SQL语句生成,可以在处理复杂查询时更加便捷。

2.访问方式

(1)pymysql

import pymysql
 
host = "127.0.0.1:3306"
user = "root"
password = "root"
database = "test"
mysql_db = pymysql.connect(host=host,
                                user=user,
                                password=password,
                                database=database,
                                charset="utf8")
mysql_cursor = mysql_db.cursor()
mysql_cursor.execute('select * from mytable')
cur_rows = mysql_cursor.fetchall()
mysql_cursor.close()

(2)sqlalchemy

from sqlalchemy import create_engine
 
host = "127.0.0.1:3306"
user = "root"
password = "root"
database = "test"
 
mysql_engine = create_engine("mysql+pymysql://{user}:{password}@{host}/{database}")
result = mysql_engine.execute('select * from mytable')

# 输出查询结果
for row in result:
    print(row)

3.Python对象映射SQLAlchemy

dataframe对象可以通过SQLAlchemy直接保存到MySQL数据库。

import numpy as np
import pandas as pd

df = pd.DataFrame(np.arange(20).reshape(5,4),
                  columns=['a','b','c','d'],
                  index=[1,2,3,4,5])
df.index.name = 'idx'

df.to_sql(
    'test_drop',  # 定义MySQL表名
    mysql_engine ,
    index=True,  # df 是否包括索引列
    if_exists='append',  # 追加数据模式
    chunksize=20000)  # 批量20000条

直接将dataframe保存到MySQL数据库,索引和表结构都字段建成。

idx	bigint(20)	YES	MUL		
a	bigint(20)	YES			
b	bigint(20)	YES			
c	bigint(20)	YES			
d	bigint(20)	YES			

更多SQLAlchemy的ORM操作文章来源地址https://www.toymoban.com/news/detail-657002.html

到了这里,关于Python使用pymysql和sqlalchemy访问MySQL的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python + pymysql 之 MySQL 查询操作

    在MySQL中构建一个测试表,如下:  打印输出结果: 从中可以看出,默认情况下,查询结果返回的是元组tuple形式 返回元组会有一个问题,当你只查询一个属性字段时,返回的结果会是有逗号的元组 例如:sql改变一下 此时,打印输出结果: 此时,建议return前,简单处理一下

    2024年02月13日
    浏览(47)
  • 【Python笔记】Python + xlrd + pymysql读取excel文件数据并且将数据插入到MySQL数据库里面

    这篇文章,主要介绍Python + xlrd + pymysql读取excel文件数据并且将数据插入到MySQL数据库里面。 目录 一、Python读取excel 1.1、安装xlrd库 1.2、打开excel工作簿 1.3、获取sheet工作表 1.4、操作row数据行 1.5、操作column数据列 1.6、操作单元格 二、读取excel数据保存到MySQL 2.1、完整代码 2.

    2024年02月15日
    浏览(44)
  • 如何利用Python中的pymysql库来操作Mysql数据库,看这篇就够啦~

     为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库,本文是向大家介绍了如何利用python中的pymysql库来操作mysql数据库。 1、什么是pymysql? pymysql是从python连接到mysql数据库服务器的接口, 简单理解就是,pymysql是python操作mysql数据库的三方模块,可

    2024年02月06日
    浏览(41)
  • python——数据库操作PyMysql使用详解

    劝君惜取少年时 在编写小脚本时,PyMysql是快速连接并操作数据库的一个不错选择。 连接数据库 使用connect函数创建连接对象,此连接对象提供关闭数据库、事务回滚等操作 一般传参为:host, user, password, port(默认为3306), database(想要连接的数据库名) 连接对象的常见方法 :

    2024年02月02日
    浏览(44)
  • 大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库

    这篇文章被搁置真的太久了,不知不觉拖到了周三了,当然,也算跟falsk系列说再见的时候,真没什么好神秘的,就是个数据库操作,就大家都知道的 CRUD 吧。 1、Flask SQLAlchemy简介 Flask SQLAlchemy 是基于 Flask web 框架和 SQLAlchemy ORM (对象关系映射)的工具。它旨在为 Flask web 应用

    2024年02月05日
    浏览(48)
  • sqlalchemy.exc.operationalerror: (pymysql.err.operationalerror) (1045, 报错 (已解决)

    sqlalchemy.exc.operationalerror: (pymysql.err.operationalerror) (1045, \\\"access denied for user \\\'root\\\'@\\\'localhost\\\' (using password: yes)\\\")    代码如下:  报错如下:  报错分析: 1.密码错误   2. 字符编码 错误  3.版本问题 ,4 权限问题 1.密码错误: 可以通过 cmd 尝试登入mysql 如果可以登入可以排除  mysq

    2024年02月15日
    浏览(24)
  • Python 进阶(三):Python使用ORM框架SQLAlchemy操作Oracle数据库

    要详细连接Oracle数据库并使用SQLAlchemy进行操作,按照以下步骤进行配置和编写代码: Oracle Instant Client:Oracle 提供的客户端库,可用于在 Python 中连接和操作 Oracle 数据库 访问 Oracle 官方网站:前往 Oracle 官方网站(instant-client/winx64-64-downloads) 可能需要创建一个免费的 Oracle

    2024年02月11日
    浏览(36)
  • python:使用Flask-SQLAlchemy对数据库增删改查的简单示例

    以下将介绍Flask-SQLAlchemy对数据库增删改查的简单示例。 一、安装所需的库 pip install flask flask-sqlalchemy flask-mysql 二、创建数据表 本示例使用mysql创建数据库和表 CREATE TABLE `user` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `name` varchar(255) DEFAULT NULL,   `age` int(11) DEFAULT NULL,   PRIMARY KEY (`id

    2024年02月07日
    浏览(49)
  • Python模块—PyMySQL模块

    Python—连接mysql数据库代码。 原理图 标准化数据库连接格式(后续会持续更新)

    2024年02月16日
    浏览(23)
  • python------Pymysql模块

    总结: fetchall(): 获取所有查询到的内容。返回结果是嵌套的元组 fetchone(): 获取一条数据。返回结果就是一个非嵌套的元组 fetchmany(num): 返回结果是元组嵌套,底层也是有游标的。如果不传递参数num,默认读取一条数据 注意: 与文件读取类似,读取查询的数据内容的时候,底层

    2024年02月04日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包