pymsql 与 SQLAlchemy 操作数据库的区别

  • Post author:
  • Post category:其他


在这里要先说清楚的是,

pymsql

是直接操控关系型数据库了,



SQLAlchemy

是通过

OPM

来进行操控的。



pymsql



1.是获得连接对象

import pymysql #导入库
connection = pymysql.connect(
    host = 'localhost',  #就写这个就好
    user = 'root',   #数据库用户名,可以登录MySQL查看
    password = '******', #密码是数据库的密码
    db = 'test_db',  #数据库的名称
    charset = 'utf8',#不能是 utf-8
    cursorclass = pymysql.cursors.DictCursor #游标类型
    )



2.是获取连接对象

是通过

连接对象的方法



获取游标对象

,以此来操作数据库。

cursor = connection.cursor() #connection 是上文提到的连接对象



SQLAlchemy



1、是数据库连接配置

SQLALCHEMY_DATABASE_URL = "mysql+pymysql://root:andy123456@localhost/idiom?charset=utf8mb4"



2、是通过配置创建引擎

engine = create_engine(SQLALCHEMY_DATABASE_URL)



3、是通过引擎创建数据库会话

SessionLocal = sessionmaker(autocommit= False,autoflush =False,bind = engine)

通过这个会话获得的对象就可以用来操作

db = SessionLocal()



4、创建数据模型(ORM)

#定义 User 类
class User(Base):
    __tanlename__ = "user"   #定义表名
    # 定义属性
    id = Column(Integer,primary_key=True,index=True)
    openid = Column(String(80))



5、通过 db 来操作ORM

return db.query(User).all()



版权声明:本文为qq_39838607原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。