当前位置: 首页 > 网络应用技术

Sqlalchemy系列SQLalchemy数据库连接

时间:2023-03-07 18:10:45 网络应用技术

  共同的关系数据库是MySQL,Oracle,SQLServer,SQLite和PostgreSQL。操作数据库的方法大约为两个:

  (1)使用数据库接口直接连接。,并关闭数据库连接。

  (2)通过ORM框架操作数据库。公共ORM框架模块是Sqlobject,Stom,Django的Orm,Peewee和Sqlalchemy

  SQLalchemy可以直接使用PIP命令安装

  安装过程如图所示:

  使用SQLalchemy数据库的连接本质上是通过数据库模块的连接。安装SQLalchemy后,还需要数据库的接口模块。例如,需要PyMySQL模块才能连接MySQL,并且需要SQLite3模块才能连接SQLITE。

  以本地MySQL测试数据库为例,用户名是root,密码为123456,默认端口为3306。数据库的特定信息如图所示:

  SQLalchemy Connection数据库使用数据库连接池技术。原理是在系统初始化时将数据库连接存储为对象。当用户需要访问数据库时,它不是一个新的连接。建立空闲连接对象。使用后,用户不会关闭连接,而是将连接返回连接池以供下一个请求访问。连接的断开连接由连接池本身管理。在同一时间,可以将连接池的参数设置为控制初始连接编号,连接的上限和下限,并且每个限制;连接的最大用途,最大空闲时间等。您还可以通过其自己的管理机制监视数据库连接的数量,使用条件等。

  2.2.1常用的连接方法

  2.2.2完整的连接方法

  mysql+pymysql:// root:123456@localhost:3306/test?charset = utf8:mySQL是指数据库系统类型。PymySQL是连接数据库接口的模块。根是数据库系统用户名。123456是数据库系统密码。Localhost:3306是主机地址(因为它是本地数据库,因此是Localhost)和数据库服务端口。测试是使用的数据库名称

  echo = true:操作数据库时用于显示sqlalchemy的SQL语句。简单地说,如果其值为真,则执行SQL语句将在控制台上打印;如果该值为false,则执行SQL语句将不会在终端中打印以进行打印

  pool_size:连接池的大小,默认值为5,代表连接池本身可以创建的最大连接数。您可以根据实际情况进行调整。

  MAX_OVERFLOW:最多可以创建的连接数,而不是连接池的大小,默认值为10。当pool_size <max_overflow的数量时,可以正常访问pool_size的一部分。不会将其放置在连接池中,而是真正关闭的。例如,例如,pool_size的值为5,max_overflow的值为10,并且连接数不大于5+10 = =15.连接数为8时,被拆除的三个连接将真正关闭。

  pool_recyle:连接重置周期,默认值-1,推荐的设置为7200。也就是说,如果连接是免费的7200秒,它将自动获得它以防止连接关闭。

  pool_timeout:连接超时时间,默认值为30秒,超过时间的连接将失败。

  charset = utf8:代码数据库并将数据库设置为读写中文。如果未设置和编写中文。

  Microsoft SQL Sever:

  mysql:

  Oracle:

  PostgreSQL:

  sqlite: