有免费搭建app的网站吗,3天引流800个人技巧,如何做建筑一体化的网站,群晖可以做网站吗Python使用pymysql和sqlalchemy访问MySQL的区别
1. 两个数据库连接工具的对比
pymysql和sqlalchemy是两个Python中经常用于与MySQL数据库交互的库。都可以连接MySQL数据库#xff0c;但它们有明显的区别。
#xff08;1#xff09;特点
pymysql是一个Python模块#xf…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代码的交互更直观和更简单。
2区别
pymysql已经足够适合连接到MySQL数据库并执行基本的SQL查询和命令而sqlalchemy提供了更多的功能。
sqlalchemy包括ORM它负责数据转换和类型处理。sqlalchemy ORM使用Python类来表示数据库表这使得查询和数据处理变得无比容易。此外sqlalchemy还支持高级查询和SQL语句生成可以在处理复杂查询时更加便捷。
2.访问方式
1pymysql
import pymysqlhost 127.0.0.1:3306
user root
password root
database test
mysql_db pymysql.connect(hosthost,useruser,passwordpassword,databasedatabase,charsetutf8)
mysql_cursor mysql_db.cursor()
mysql_cursor.execute(select * from mytable)
cur_rows mysql_cursor.fetchall()
mysql_cursor.close()
2sqlalchemy
from sqlalchemy import create_enginehost 127.0.0.1:3306
user root
password root
database testmysql_engine create_engine(mysqlpymysql://{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 pddf pd.DataFrame(np.arange(20).reshape(5,4),columns[a,b,c,d],index[1,2,3,4,5])
df.index.name idxdf.to_sql(test_drop, # 定义MySQL表名mysql_engine ,indexTrue, # df 是否包括索引列if_existsappend, # 追加数据模式chunksize20000) # 批量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操作