首页 > 数据库 >flask-sqlalchemy

flask-sqlalchemy

时间:2023-04-07 22:44:06浏览次数:34  
标签:engine sqlalchemy flask 数据库 cursor import 连接池

1.sqlalchemy快速使用

flask中没有orm框架。我们需要使用一个对象关系映射来操作数据库。sqlalchemy就是其中之一。
SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果
SQLAlchemy本身无法操作数据库,其必须以来pymsql等第三方插件
安装:

pip3.10 install sqlalchemy

补充:SQLAlchemy本身无法操作数据库,其必须以来pymsql等第三方插件

mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]

cx_Oracle
oracle+cx_oracle://user:pass@host:port/dbname[?key=value&key=value...]

# 更多:http://docs.sqlalchemy.org/en/latest/dialects/index.html

1.1 使用原生sql连接数据库

sqlalchemy自带连接池,所以不需要自己创建连接池

# 1.导入模块
import time
import threading
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.engine.base import Engine

# 生成引擎对象,sqlalchemy自带连接池
engine = create_engine(
    "mysql+pymysql://root:[email protected]:3306/book?charset=utf8",
    max_overflow=0,  # 超过连接池大小外最多创建的连接
    pool_size=5,  # 连接池大小
    pool_timeout=30,  # 池中没有线程最多等待的时间,否则报错
    pool_recycle=-1  # 多久之后对线程池中的线程进行一次连接的回收(重置),-1是不回收
)

conn = engine.raw_connection()
cursor=conn.cursor()
cursor.execute('select * from book')
print(cursor.fetchall())

image

1.2 创建数据表

标签:engine,sqlalchemy,flask,数据库,cursor,import,连接池
From: https://www.cnblogs.com/ERROR404Notfound/p/17297592.html

相关文章

  • flask-信号、flask-script
    1.django、flask高并发部署1.1协程产生背景由于Python有把大锁GIL,会将多个线程在同一时刻,只能有一个线程执行,变成'串行',所以一个多线程python进程,并不能充分使用多核CPU资源,所以对于Python进程,可采用多进程部署方式比较有利于充分利用多核的CPU资源,而uWSGI服务器就是这么一个东......
  • Flask框架之信号、sqlalchemy
    目录信号flask-scriptsqlalchemysqlalchemy介绍sqlalchemy快速使用sqlalchemy创建表和操作数据信号Flask框架中的信号基于blinker(安装这个模块pipinstallblinker),其主要就是让开发者可是在flask请求过程中定制一些用户行为,flask和django都有信号观察者模式,又叫发布-订阅(Pu......
  • flask05
    1信号#Flask框架中的信号基于blinker(安装这个模块),其只要就是让开发者可以在flask请求过程中定制一些用户星为flask和django都有#观察者模式:又叫发布-订阅(Publish/Subscribe)23种设计模式之一pipinstallblinker#信号:signial翻译过来的,并发编程种学过信号量Semap......
  • flask-day5——python项目高并发异步部署、uwsgi启动python的web项目不要使用全局变量
    目录一、python项目高并发异步部署二、uwsgi启动Python的Web项目中不要使用全局变量三、信号3.1flask信号3.2django信号四、微服务的概念五、flask-script六、sqlalchemy快速使用七、sqlalchemy快速使用4.1原生操作的快速使用八、创建操作数据表九、作业1、什么是猴子补丁,有什......
  • sqlalchemy
    信号Flask框架中的信号基于blinker(安装这个模块),其主要就是让开发者可是在flask请求过程中定制一些用户行为flask和django都有#观察者模式,又叫发布-订阅(Publish/Subscribe)23种设计模式之一安装:pip3.8installblinker信号:signial翻译过来的,并发编程中学过信号量Se......
  • flask-script
    flask-script我们启动flask项目可以通过执行程序app.run()来启动,而flask_script可以帮助我们通过脚本命令的形式启动项目。不过要注意,flask_script是第三方模块,flask兼容版本需要注意,可以按照以下的版本对应:Flask==2.2.2Flask_Script==2.0.3基本使用##manage.py中fromfla......
  • flask信号
    flask信号什么是信号?项目功能复杂,代码量越大,就越需要做业务解耦,我们在程序的某些环节发出信号,我们如果给这个信号绑定了方法,那么就会触发方法的执行。flask框架的信号基于blinker模块,在框架的一些核心功能做扩展时,我们可以只让其执行一句发出信号的代码,扩展的功能写在别处。......
  • django/flask高并发部署
    django和flask是同步框架,部署的时候使用uwsgi部署,uwsgi是多进程多线程框架,并发量不高大概几十。我们可以通过uwsgi加gevent部署成异步程序,普通的部署方式uwsgi-x./luffyapi.xml这是使用genvent提高并发部署uwsgi--gevent50--gevent-monkey-patch./luffyapi.xml......
  • flask源码解析
    flask源码解析本篇主要是针对于以下一些问题进行源码剖析,并补充解释一些python语法的用法与应用场景。flask生命周期流程flask的request、session等都是导入进来的,也就意味着每次请求,我们所用的都是同一个request对象,它为什么能够按照同种方式取到自己request对象值呢flask......
  • flask5
    今日内容1信号#Flask框架中的信号基于blinker(安装这个模块),其主要就是让开发者可是在flask请求过程中定制一些用户行为flask和django都有#观察者模式,又叫发布-订阅(Publish/Subscribe)23种设计模式之一pip3.8installblinker#信号:signial翻译过来的,并发编程中学过......